我们先来用这个公式算出每个世纪第一年 3 月 1 日的星期,列 表如下: 年份: 星期: 4 年份:201(601,1001,…,2201) 星期: 1(401,801,…,2001) 101(501,901,…,2101) -------------------------------------------------------------------2 ==================================================================== 301(701,1101,…,2301) -------------------------------------------------------------------0 5 可以看出,每隔四个世纪,这个星期就重复一次。假如我们把 301(701,1101,…,2301) 年 3 月 1 日的星期数看成是-2(按数论中对余数的定义,-2 和 5 除以 7 的余数相同,所以可 以做这样的变换) ,那么这个重复序列正好就是一个 4,2,0,-2 的等差数列。据此,我们 可以得到下面的计算每个世纪第一年 3 月 1 日的星期的公式: W = (4 - C mod 4) * 2 - 4. 1 日,C=20,则: W = (4 - 20 mod 4) * 2 - 4 =8-4 = 4. 把公式(6)代入公式(5),经过变换,可得: (Y-1) + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] ≡ (4 - C mod 4) * 2 - 1 (mod 7). 因此,公式(5)中的(Y-1) + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400]