请输入您要查询的百科知识:

 

词条 基姆拉尔森计算公式
释义

算法

算法如下:

基姆拉尔森计算公式

W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7

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

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

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

代码

代码如下:

// java code

//y-年,m-月,d-日期

string CaculateWeekDay(int y,int m, int d)

{

if(m==1||m==2) {

m+=12;

y--;

}

int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;

string weekstr="";

switch(week)

{

case 0: weekstr="星期一"; break;

case 1: weekstr="星期二"; break;

case 2: weekstr="星期三"; break;

case 3: weekstr="星期四"; break;

case 4: weekstr="星期五"; break;

case 5: weekstr="星期六"; break;

case 6: weekstr="星期日"; break;

}

return weekstr;

}

其他参考

参考

fun1(y,m,d)

{

int k;

if(m==1||m==2){m+=12;y--;}

return (int)((d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)+1)%7;

}

调试了2007,很正确的输出了

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/4 14:48:54