基姆拉尔森计算公式 推导计算星期几

博客:https://www.cnblogs.com/SeekHit/p/7498408.html

公式:w = (d+2m+3(m+1)/5+y+y/4-y/100+y/400+1)%7

注意:如果是1月或者2月,要转换成上一年的十三月和十四月来进行计算。

 1 int Date(int y,int m,int d)
 2 {
 3     //把一月和二月换算成上一年的十三月和14月
 4     if(m==1||m==2){//一二月换算
 5         m+=12;
 6         y--;
 7     }
 8     int week = (d + 2*m +3*(m+1)/5 + y + y/4 - y/100 + y/400 + 1)%7;
 9     return week;//其中1~7表示周一到周日
10 }
原文地址:https://www.cnblogs.com/knmxx/p/10564859.html