词条 | 基姆拉尔森计算公式 |
释义 | 算法算法如下: 基姆拉尔森计算公式 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。