根据日期计算周几星期
1.根据基姆拉尔森计算公式枚举即可
2.W = (d+2m+3(m+1)/5+y+y/4-y/100+y/400) % 7
3.注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月例:如果是2018-1-1则换算成:2017-13-1来代入公式计算。
1 2 3 4 5 6 7 8 9 10 |
y表示年份; m表示月份; d代表天数; int date_day(int y, int m, int d) { if (m == 1 || m == 2) { y--; m += 12; } int day = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7; return day; //day = 0为周一; week = 2为周一; 依次类推; } |