我有一个,但是测试出来不对
int WeekDay(int y,int m, int d)
{
if(m==1) m=13;
if(m==2) m=14;
int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
return week;
}
int MyWeek(int y,int m, int d)
{
int a,b;
a=WeekDay(y,m,1);
b=WeekDay(y,m,d);
if(a==7)
a=0;
if(b==7)
b=0;
int result=d-(7-a+7-b);
if(result==0)
result=result+2;
else
result=result/7+2;
return result;