1582 年的 10 月 4 日是周幾?
11-28
維基百科中講如何計算 day of week 時,提到了一種 Gauss"s algorithm,並舉了一些例子。其中一個例子經計算得出,1582 年的 10 月 4 日 是周四。
Determination of the day of the weekFor October 4, 1582, the date would be treated as the 8th month of the year,
d = 4
[2.6 × 8 – 2.2] = 4
5R(82,4) = 5 × 2 mod 7 = 3
3R(1582, 7) = 3 × 0 = 0
3R(82,7) = 3 × 5 mod 7 = 1
6R(15,7) = 6 × 1 = 6
w = 4 + 4 + 3 + 0 mod 7 = 4 + 4 + 3 + 1 + 6 mod 7 = 4 = Thursday.但是自己編程得出這一天是周一。
測試代碼一:
&>&>&> from datetime import date
&>&>&> date(1582, 10, 4).weekday()
0
是我算錯了還是維基百科有誤呢?
因為歷史上不存在1582年10月5日-1582年10月14日這十天
可搜索「儒略曆」和「格利高里歷」
你的演算法沒錯維基也沒有誤,你用的是格里曆,維基用的是儒略曆,所以日期有10天之差星期就有3天之差(10 mod 7 = 3)。G(4 + 0 +4 + 0)mod 7 = 1,J(4 +0 +4 +3)mod 7 = 4。
推薦閱讀:
※「閏秒」會對 IT 行業造成多大影響?有什麼好的解決方法?
※居住在行星的衛星上的文明應該有怎樣的曆法系統?
※為什麼2016年最後一天全世界會統一「加一秒」?
※日晷的指針為什麼要對準北極星?
※為什麼清明是公元四月五日而不是農曆四月五日?