现在,我们得到了按年扩展的公式⑵,用这个公式可以计算任一年的1月份的星期 四、扩展到其它月 考虑这个问题颇费了一翻脑筋,后来还是按前面的方法大胆假才找到突破口。 ①现在我们假设每个月都是28天,且不考虑闰年 有了这个假设,计算星期就太简单了,因为28正好是7的整数倍,每个月的星期都是一样的,公式⑵对任一...
之所以Y要减一,这 样,我们就得到了第一个计算某一天是星期几的公式: W = (Y-1)*365 + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D. (1) 其中D是这个日子在这一年中的累积天数。算出来的W就是公元前1年(或公元0年)12月 31日到这一天之间的间隔日数。把W用7除,余数是几,这一天就...
(m;一年的第一天是 3 月 1 日了,我们要对 w 的计算公 式重新推导 2>;误差表也发生了变化,需要得新计算 ①推导 w 计算式 1>; 用前面的算法算出 0 年 3 月 1 日是星期 3 前 7 天, d = 1---7 ===>; w = 3---2 得到 w = (d+2) % 7 此式同样适用于整个三月份 2>; 扩展到每...
根据给定的年、月、日,计算出该日期是一年中的第几天,这通常涉及到累加每个月的天数,直到达到给定的月份,再加上给定的日期。 3. 使用公式计算第几周 使用公式“第几周 = (第几天 星期几 + 6)/ 7”来计算第几周,这里的星期几是指该日期是周几,可以使用基姆拉尔森计算公式来得到。 代码示例: #include <...
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来代入公式计算。以公元元年为...
以公元元年为参考,公元元年1月1日为星期一/PREPRE程序如下: /*利用基姆拉尔森计算日期公式 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) { m + 12; y--; } w (d+1+2*m...
蔡勒公式 蔡勒(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 ...
公式5就是选取公元前1年的12月31日(公元无0年,之后就是公元1年)作为起始日期,这天是星期日,计...
日期比较容易算。星期几可以用下面的公式来计算:(年份-1) + (年份-1)/4 - (年份-1)/100 + (年份-1)/400 +第几天 建立两个数组,一个是每月天数的数组,一个是星期几的数组。程序如下:include <stdio.h>void main(){int i,n=0,year,month,day,a[13]={0,31,28,31,30,31,30,...