基姆拉尔森公式

时间:2021-09-25 16:49:42

 

基姆拉尔森公式计算日期周几

#include <iostream>
using namespace std;

string week[] ={"Mon","tue","Wen","Thu","Fri","Sat","Sun"};
int main(){
int y,m,d;
while(cin>>y>>m>>d){
if(m<3){
m
+=12;
y
--;
}
int w = (y+y/4+y/400-y/100+2*m+3*(m+1)/5+d)%7;
cout
<<week[w]<<endl;
}
return 0;
}

在公式中d表示日期中的日数,m表示月份数,y表示年数。

注意:在公式中有个与其他公式不同的地方:

把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。