//基姆拉尔森计算公式根据日期判断星期几
void CalculateWeekDay(int y, int m,int d){
if(m==1||m==2) m+=12,y--;
int iWeek = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
switch(iWeek){
case 0: printf("星期一 "); break;
case 1: printf("星期二 "); break;
case 2: printf("星期三
"); break;
case 3: printf("星期四
"); break;
case 4: printf("星期五
"); break;
case 5: printf("星期六
"); break;
case 6: printf("星期日
"); break;
}
}
其中:一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算