根据年月日计算出该日为星期几的方法: 一、修正数概念的引入:若X日为星期M,Y日为星期N(N>M),则称d=N—M为修正数。则可得,若知道X日为星期M,又知道X日Y日之间的d,则可计算出N,从而N的大小,在这里,修正数0≦d≦6,含有修正数的运算,最后结果一律取原结果被7除所得余数。 二、修正数基本原理: 若a0与a1之间的修正数为d1,a1与a2之间为d2,an-1与an之间为dn 则易得a0与an之间的修正数d=d1+d2+……+dn
三、由某月某日是星期几推知该月其他日期为星期几 例如,已知1990年1月1日为星期一,则易得2日的d为1,3日的d为2……由于d以7为周期循环,所以8日为0,9日为1……,由此可推出每月31个日期的修正数 表一
则对于1990年1月任一日,星期N=d(日)+1 四、由某月某日是星期几推知该年其他月份同一日为星期几 例如已知1990年1月1日为星期一,由上表可得1月31日为星期三,可的2月1日为星期四,则二月的修正数为4-1=3,用同样的方法可知其他月份的修正数 表二:每月修正数(不考虑闰年)
由表一表二 这对于1990年任一日,可得星期M=d(月)+d(日)+1 对于闰年,由于其二月比平年多一日所以三月以后修正数有所改变,将在下一节进行介绍。
五、由某年某月某日为星期几推知该世纪其他年份同月同日为星期几 平年的365天,为52星期加一天,因此平年的第二年(假设也是平年)里的某一天,星期数总是比第一个平年的同一天往后推一天。则后一年的修正数为1,后两年修正数为2(不考虑闰年),由此类推。若考虑闰年,即该年后一年为闰年,由于2月多一日,则三月以后修正数全部加1,考虑到制表的方便,在这里,,该闰年的修正数加1,三至十二月修正数不变,一至二月修正数减1,可得如下两表
(括号中为闰年)
由表一、三、四可得该世纪中任一日为星期M=d(年)+d(月)+d(日)+1
六、由某世纪某日推知其他世纪同年同月同日为星期几 例如,已知1990年1月1日为星期一,求2090年1月1日为星期几。 由于公元1582年天文学家利里奥对历法的改革方案,采用了400年97闰法,即凡公元年号能被4整除为闰年,但公元年号为整百年时,须能被400整除者方为闰年,(如1600年、2000年)。其它为平年(如1700年、1900年)。对于公元年号为整百年的是闰年的世纪,它下一世纪相对于它的修正数为6,对于公元年号为整百年的是平年(如1700年、1900年)的世纪,它的下一世纪相对于它修正数为5,可得如下
于是,将上述几表合并,可得
(括号中为闰年修正数)
可得任一日星期M=d(世纪)+d(年)+d(月)+d(日)+1 |
|