:万年星期计算方法

来源:百度文库 编辑:九乡新闻网 时间:2024/04/20 17:10:51
根据年月日计算出该日为星期几的方法:
一、修正数概念的引入:若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个日期的修正数
表一
日期
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
修正数d
0
1
2
3
4
5
6
则对于1990年1月任一日,星期N=d(日)+1
四、由某月某日是星期几推知该年其他月份同一日为星期几
例如已知1990年1月1日为星期一,由上表可得1月31日为星期三,可的2月1日为星期四,则二月的修正数为4-1=3,用同样的方法可知其他月份的修正数
表二:每月修正数(不考虑闰年)
月份
1
2
3
4
5
6
7
8
9
10
11
12
修正数
0
3
3
6
1
4
6
2
5
0
3
5
由表一表二
这对于1990年任一日,可得星期M=d(月)+d(日)+1
对于闰年,由于其二月比平年多一日所以三月以后修正数有所改变,将在下一节进行介绍。
五、由某年某月某日为星期几推知该世纪其他年份同月同日为星期几
平年的365天,为52星期加一天,因此平年的第二年(假设也是平年)里的某一天,星期数总是比第一个平年的同一天往后推一天。则后一年的修正数为1,后两年修正数为2(不考虑闰年),由此类推。若考虑闰年,即该年后一年为闰年,由于2月多一日,则三月以后修正数全部加1,考虑到制表的方便,在这里,,该闰年的修正数加1,三至十二月修正数不变,一至二月修正数减1,可得如下两表
年份
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
修正数d
0
1
2
3
4
5
6
(括号中为闰年)
月份
1
2
3
4
5
6
7
8
9
10
11
12
修正数
0(6)
3(2)
3
6
1
4
6
2
5
0
3
5
由表一、三、四可得该世纪中任一日为星期M=d(年)+d(月)+d(日)+1
六、由某世纪某日推知其他世纪同年同月同日为星期几
例如,已知1990年1月1日为星期一,求2090年1月1日为星期几。
由于公元1582年天文学家利里奥对历法的改革方案,采用了400年97闰法,即凡公元年号能被4整除为闰年,但公元年号为整百年时,须能被400整除者方为闰年,(如1600年、2000年)。其它为平年(如1700年、1900年)。对于公元年号为整百年的是闰年的世纪,它下一世纪相对于它的修正数为6,对于公元年号为整百年的是平年(如1700年、1900年)的世纪,它的下一世纪相对于它修正数为5,可得如下
世纪
1600
1700
1800
1900
2000
2100
2200
2300
修正数d
5
4
2
0
5
4
2
0
于是,将上述几表合并,可得
世纪
1600
1700
1800
1900
2000
2100
2200
2300
修正数d
5
4
2
0
5
4
2
0
年份
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
修正数d
0
1
2
3
4
5
6
月份
1
2
3
4
5
6
7
8
9
10
11
12
修正数
0(6)
3(2)
3
6
1
4
6
2
5
0
3
5
日期
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
修正数d
0
1
2
3
4
5
6
(括号中为闰年修正数)
可得任一日星期M=d(世纪)+d(年)+d(月)+d(日)+1