以公元元年为参考,公元元年1月1日为星期一</PRE><PRE>程序如下: /*利用基姆拉尔森计算日期公式w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)*/ #include <stdio.h> void CaculateWeekday(int y, int m, int d) { int w; //代表星期几 if (m==1 || m==2) ...
编者注:用来算现在真实日期的星期是没有问题的。 原理是根据已知公元 1 年 1 月 1 日的星期数来推算。如果 在你的题目中约定了某天是星期几,你要注意那天的星 期是否跟真实的星期相同,如果不同,需要考虑相差几 天! 如果大家觉得不够过瘾,可以看看以下该公式的推 导过程,让大家对历法有个更深刻的认识 下面...
14月来算,这时C和y均按上一年取值。 两个公式中的[...]均指只取计算结果的整数部分。算出来的W除以7,余数是几就 是星期几。如果余数是0,则为星期日。 我们知道,公历的平年是365天,闰年是366天。置闰的方法是能被4整除的年份在 2月加一天,但能被100整除的不闰,能被400整除的又闰。因此,像1600、2000...
使用公式“第几周 = (第几天 星期几 + 6)/ 7”来计算第几周,这里的星期几是指该日期是周几,可以使用基姆拉尔森计算公式来得到。 代码示例: #include <stdio.h> int main() { int y, m, d; // 年、月、日 int nWeekCnt; // 第几周 int nCount = 0; // 累计天数 int nDate; // 当前日...
来。我们可以掰着指头从1日数到31日,同时数星期,最后可以数出5月31日是星期一。 其实运用数学计算,可以不用掰指头。我们知道星期是七天一轮回的,所以5月1日是星 期六,七天之后的5月8日也是星期六。在日期上,8-1=7,正是7的倍数。同样,5月15
C语言根据日期判断星期几,使用基姆拉尔森计算公式:W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。以公元元年为...
C语言根据日期判断星期几 (使用基姆拉尔森计算公式 ) 算法如下: 基姆拉尔森计算公式 W (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y 表示年数。 注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1...
蔡勒公式 蔡勒(Zeller)公式:是一个计算星期的公式。 随便给一个日期,就能用这个公式推算出是星期几。 蔡勒公式如下: W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1 或者是: w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 ...
公元无0年,之后就是公元1年)作为起始日期,这天是星期日,计算给定日期的时间差余数是几就是星期几...