博客: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 }