一周中的決心

一周中的決心對於任何日期,可以通過多種算法。此外,永久日曆不需要用戶計算,並且本質上是查找表。一個典型的應用是計算一周中的天有人出生或發生了特定事件。

概念

在數值計算中,一周的日子表示為工作日數字。如果星期一是一周的第一天,則可以按照週一至週日進行1至7的日子編碼ISO 8601。指定為7的一天也可能被算作0,通過應用算術模量7,計算出7分之後的數字的其餘部分。因此,數字7被視為0,8為1,9為2,18為4等。如果週日被計為第1天,則7天后(即第8天)也是星期日,第18天與第4天相同,這是自周日之後三天以來的星期三。[a]

標準週一週二週三週四星期五週六星期日用法示例
ISO 86011234567%_isodowi%,%@isodowi []%(4DOS);[1]Dayofweek()()()(HP Prime[2]
0123456
2345671%nday of Week%%網絡博士[3]); %_dowi%,%@dowi []%(4DOS[1]
1234560惠普財務計算器

幾乎所有計算本週一天的方法的基本方法始於從“錨點日期”開始:一對(例如1800年1月1日作為星期三),確定已知日期和您試圖確定的那一天,並使用算術模量7來找到一周中的新數字。

一種標準的方法是查找(或使用已知規則計算)給定世紀的第一天的值,查找(或使用一致方法計算)調整,計算自本世紀初以來的leap年數,然後將它們與本世紀初以來的年數以及本月的日常數一起添加在一起。最終,一個人最終將一日規定適用Modulo 7來確定日期的一天。[4]

有些方法首先要進行所有添加,然後拋出七分,而另一些方法則在每個步驟中拋棄,例如劉易斯·卡洛爾的方法。無論哪種方式,都非常可行:對於計算器和計算機程序來說,前者更容易,後者進行心理計算(很有可能在少量練習中完成所有計算)。這裡給出的任何方法都沒有執行範圍檢查,因此不合理的日期會產生錯誤的結果。

相應的日子

一個月的第七天的名稱與上一個名稱相同:

一天的一天
這個月
d
00 07 14 21 280
01 08 15 22 291
02 09 16 23 302
03 10 17 24 313
04 11 18 254
05 12 19 265
06 13 20 276

相應的月份

“相應的月份”是從一周的同一天開始的日曆年內的那個月。例如,9月和12月相對應,因為9月1日在12月1日的同一天(由於兩個日期之間正好有13天的時間)。只有當他們的第一天之間的天數除以7分,或者換句話說,只有幾個月的時間是相隔數週的時間,幾個月才能對應。例如,二月常見的一年相當於三月,因為2月有28天,這一數字可以分別為7、28天,正好為四個星期。在一個閏年,一月和二月對應於與普通年份不同的月份,因為2月29日意味著每天開始的每個月開始。

一月對應於普通年和四月和七月的十月。2月對應於leap年的普通年和八月的三月和十一月。3月總是對應於11月對應,四月總是對應於7月,而9月始終對應於十二月。八月與普通年份中的任何其他月相對應。十月與leap年中的任何其他月相對應。五月和六月永遠不會與其他任何月相對應。

在下面的幾個月表中,相應的月份具有相同的數字,這一事實直接從定義下。

普通年閏年始終m
十月0
可能1
2月八月2
2月3月3
六月4
9月5
七月6

相應的年份

一年可能開始的七天,而leap年將改變2月29日之後的一周中的一天。這意味著一年可以使用14種配置。所有配置都可以由統治字母,但是由於2月29日沒有分配給它的信,leap年有兩個主要信件,一封為1月和2月,另一個是三月至12月的一句話(在字母順序排列的序列中進行了一步)。

2021年是從周五開始的普通年,這意味著它對應於2010年日曆年。2021年的前兩個月對應於2016年的前兩個月。2022年是從周六開始的普通年,這意味著它對應於2011年日曆年。2022年的最後十個月對應於2016年的最後十個月。2023年是從周日開始的普通年,這意味著它對應於2017年日曆年。2024年是從周一開始的leap年,這意味著它對應於1996年的日曆年。2024年的前兩個月對應於2018年的前兩個月。2024年的最後十個月對應於2019年的最後十個月。

每年的leap年每28年重複一次,每6年每11年重複一次每11年重複一次。例如,從周三開始的leap年的最後一次發生是2020年,下一次發生將是2048年。同樣,下一個普通年份從星期五開始的是2027年,2038年,然後是2049年。這兩個陳述都是正確的leap年被跳過,但這要到2100年才會發生。

有關詳細信息,請參見下表。

一年
Century Mod 28
y
00061217 230
01 071218241
020813 19242
03081420253
0409 1520264
04101621 275
05 111622006

筆記:

  • 黑色表示普通一年的所有幾個月
  • 紅色的是指leap年的前兩個月
  • 藍色的是指leap的最後10個月

相應的世紀

朱利安世紀
mod 700
格里高利世紀
mod 400[b]
400:1100 1800 ...300:1500 1900 ...太陽
300:1000 1700 ...週一
200 0900 1600 ...200:1800 2200 ...星期二
100 0800 1500 ...星期三
700:1400 2100 ...100:1700 2100 ...星期四[C]
600:1300 2000 ...星期五
500:1200 1900 ...000:1600 2000 ...坐著

在正常的年代中,“年000”是公元前1年(公元1年之前)。在天文年度編號0年在公元前1年和公元1之間。流傳式朱利安日曆(也就是說,朱利安日曆是從一開始就正確操作的),公元前1年開始。在裡面流傳性格里高利日曆,(之所以被稱為,因為直到1582年才設計),公元前1公里從周六開始。

計算一周一天的表格方法

完整表:朱利安和格里高利日曆

對於1300年之前和1999年之後的朱利安(Julian),應使用700年的確切倍數。對於2299年之後的格里高利日期,應使用桌子上的一年,這是400年的確切倍數。價值 ”R0“ 通過 ”R6“表明剩餘的數百個值分別除以7和4,表明該系列是如何沿任一方向延伸的。朱利安和格里高利的值均顯示1500-1999,以便方便起見。大膽的數字(例如,例如,04)表示leap年。如果一年在00且數百個大膽結束,那將是leap年。因此,19表示1900不是格里高利的leap年(而是19在朱利安列中指示它朱利安·萊克(Julian Leap)和朱利安(Julian)x00年)。20表明2000年是leap年。利用2月只有在leap年。

數百年剩餘的年數d
o
w
#
朱利安
(r÷7)
格里高利人
(r÷4)
R5191620R000 06 17 232834 45 515662 73 798490十月SA0
R41815 19R301 07121829 35404657 63687485 9196可能su1
R317
N/A。
02 13 192430 41 475258 69 758086 972月八月m2
R21618 22R2030814 25313642 53596470 818792982月3月十一月tu3
R115
N/A。
09 15202637 43485465 71768293 99六月w4
R01417 21R10410 21 273238 49 556066 77 838894九月十二月Th5
R613
N/A。
05 11162233 39445061 67727889 954月七月F6

確定一周中的一天(2000年1月1日,星期六)

  • 每月:1〜31(1)
  • 月份:(6)
  • 年:(0)
  • Gregorian日曆的Century Mod 4和Julian日曆的Mod 7(0).
  • 添加1+6+0+0 = 7。除以7分,剩下的0剩餘時間,所以一周的一天是星期六。

公式為w =(d + m + y + c)mod 7。

修訂後的朱利安日曆

請注意,修訂後的朱利安和格里高利日曆中的日期(因此是一周的日期)從1923年10月14日到公元2800年2月28日相同,並且在很大的幾年中,有可能在之前減去6300或以前的倍數開始,以達到距離或靠近桌子的一年。

要查找使用該表的任何一年的任何日期的工作日,請從一年中減去100個,將差異除以100,將所得的商(省略分數)乘以7,然後將產品除以9。注意商(省略分數)。在朱利安年(Julian Year)中輸入表格,在最後的劃分添加50次之前,並減去上述商品。

示例:8315年1月27日的一周的一天是什麼?

8315-6300 = 2015,2015-100 = 1915,1915/100 = 19剩餘15,19×7 = 133,133,133/9 = 14剩餘7。2015在1315中提前700年,因此使用1315。從表格:對於數百(13):6。剩餘數字(15):4。(1月):0。日期(27):27。6 + 4 + 0 + 27 + 50 - 14 = 73。73/7 = 10剩餘3.每天的一天=星期二。

統治字母

找到統治字母,計算1月1日或10月1日的一周中的一天。如果是星期天,則主要的字母為A,如果是星期六B,則類似地向後向後,並通過字母前向星期一(即G.)。

LEAP年有兩個星期日的信件,因此在1月1日和2月的1月1日的一周和三月至12月計算的是10月1日的一周日。

LEAP年份都是所有年份,完全除以四個例外:

在格里高利日曆中 - 所有的年份將完全劃分為100(除了完全分配400的那些)。

在修訂後的朱利安日曆中 - 所有年份將完全分開100(除剩餘的200或600除以900時)。

“世界末日”

這是休閒數學的人工製品。看世界末日規則用於解釋。

檢查結果

使用此表來查找一周中的一天,而無需進行任何計算。

指數週一
一個
星期二
B
星期三
C
星期四
d
星期五
e
坐著
F
太陽
G
永遠的格里高利和朱利安日曆
利用2月為了閏年
年份的日期字母

所有的C天都是厄運

朱利安
世紀
格里高利人
世紀
日期01
08
15
22
29
02
09
16
23
30
03
10
17
24
31
04
11
18
25

05
12
19
26

06
13
20
27

07
14
21
28

12 1916 204月七月G一個BCdeF010712182935404657636874859196
13 20九月十二月FG一個BCde0213192430414752586975808697
14 2117 21六月eFG一個BCd030814253136425359647081879298
15 222月3月十一月deFG一個BC0915202637434854657176829399
16 2318 22八月2月CdeFG一個B0410212732384955606677838894
17 24可能BCdeFG一個0511162233394450616772788995
18 2519 23十月一個BCdeFG0617232834455156627379849000
[年/100]格里高利人
世紀
20
16
21
17
22
18
23
19
Mod 100年
朱利安
世紀
19
12
20
13
21
14
22
15
23
16
24
17
25
18

例子:

  • 對於通用方法
1893年12月26日(GD)

十二月是行列的F26在列中e,所以日期的信件是c行的F和列e。 93(Mod 100年)連續d(年度)和年度的字母C位於專欄中G。18([Gregorian Century column中的[年/100])行列C(Century Row)和世紀的字母和專欄中的字母G是B,所以一周中的一天是星期二。

1307年10月13日(JD)

10月13日是F日。年度的字母F(07)位於專欄中G。世紀(13)和專欄中的字母G是e,所以一周中的一天是星期五。

2000年1月1日(GD)

1月1日對應於年度的g,g(00)對應於世紀的f(20),f對應於星期六。

該方法的典型公式:“日期字母(g),字母(g)在年度(g)(g)(g)00)對於世紀的字母(f)(f)(f)(f)20),在一天中,信(f)成為工作日(星期六)”.

星期日信方法

一年中的每一天(2月29日以外)在反復出現的序列ABCDEFG中分配了一封信。該系列始於1月1日,並於12月31日繼續進行。週日的信件是一年中所有周日的信。由於2月29日沒有任何來信,這意味著與1月和2月相比,三月至12月的周日信件是序列的一步。任何日期的信件都將在“拉丁廣場”左側包含月份(黑色)的行中找到,符合包含“拉丁廣場”上方日期的列。將在周日的信中找到包含世紀(“拉丁廣場”下方)的專欄,其中包含“拉丁廣場”右側的一年的最後兩位數字。在leap年中,因此發現的星期日信件是適用於三月至12月的一封信。

因此,例如,找到2020年6月16日的工作日:

“ 20”列遇到“ 20” at“ d”。“六月”符合“ 16”的第1列。由於F是D的兩個字母,因此工作日是從周日(即星期二)開始的兩天。

數學算法

rata死了

微不足道rata死了方法通過加總數來起作用d自一周中的已知日期以來已經過去d。然後,一周的一天由d+d)mod 7,符合用於編碼的任何慣例d.

該方法比需要的要貴,並且對於人類計算而言是不實際的。IBM在其中使用了rata die方法rexx編程語言,使用1月1日的已知基本日期,公元1,星期一。[5]

例如,2009年8月13日的日期是從公元1月1日起的733632天。採用數字7的數字4收益4,因此星期四。

高斯的算法

卡爾·弗里德里希高斯(Carl Friedrich Gauss)描述了一種計算1月1日在任何給定年份中的一周中的當天的方法,這些方法是在一系列天文表中的手寫筆記中。[6]他從未出版過。它終於在1927年的收集作品中包括在內。[7]與Rata Die相比,結果有助於簡化數年的計數。

高斯的方法適用於格里高利日曆。從周日開始,他的工作日從0到6人數。他定義了以下操作。

輸入
年號一個,月號m,日號d.
輸出
一年中的一天。
程序
  1. 首先確定一天的一天d11月1日。
    • 對於格里高利日曆,工作日是.[6]或者,設置C=一個\ 100y=一個%100,價值是.
    • 對於朱利安日曆,工作日是或者.
  2. 現在確定與月相關的偏移m通過使用查找表m.
  3. 返回d=(((d1+m+d)%7.
月份偏移桌
月份2月3月4月可能六月七月八月九月十月十一月十二月
普通年033614625035
閏年4025036146

以上程序可以凝結成格里高利案的單個表達式:

有效的例子

對於2000年的年度,一個 - 1 = 1999y - 1 = 99C= 19,1月1日的工作日是

工作日的1777年4月30日和1855年2月23日

說明和筆記

可以使用模量算術來證明1月1日的周一天的算法。重點是因為365 mod 7 = 1,每年為進展增加1天。其餘的是對leap年的調整。基於世紀的版本有36525 mod 7 = 6.

由於LEAP年,一個月偏移桌顯示了2月份的分歧。一種常見的技術(後來由Zeller使用)是轉移一個月,從3月開始,以便Leap Day在計數的尾聲。另外,如Zeller後來所示,該表可以用算術表達式代替。

該公式還將Kraitchik和Schwerdtfeger轉換為圖形和表格方法,用於計算一周中的任何一天。[7][8]

不同的變化

以下公式是一個沒有查找表的版本的示例。假定這一年是在三月開始的,這意味著一月和二月的日期應被視為前一年的一部分。Gregorian日曆的公式是[9]

在哪裡

  • 是每月的一天(1至31個)
  • 是變化的月份(3月= 1,…,2月= 12)
  • 是一年,除非IS 11 = 1月或12 = 2月份被認為是前一年的一部分,給予
  • 是由
  • 是相對於世紀的一年,由,或僅僅是最後2位
  • 是一周的一天(0 =星期日,…,6 =星期六)
一個月偏移桌(
月份3月4月可能六月七月八月九月十月十一月十二月2月
抵消257101215182023252831

Zeller的算法

在Zeller的算法中,幾個月的數量從3月3日到2月14日。假定這一年在三月開始;例如,這意味著1995年1月將被視為1994年第13個月。[10]Gregorian日曆的公式是

在哪裡

  • 是每月的一天(1至31個)
  • 是變化的月份(3月= 3,... 1月= 13,2月= 14)
  • 是一年,除非IS 13 = 1月或14 = 2月,這被認為是前一年的一部分
  • 是由
  • 是相對於世紀的一年,由,或僅僅是最後2位
  • 是一周的一天(1 =星期日,.. 0 =星期六)
一個月偏移桌(
月份3月4月可能六月七月八月九月十月十一月十二月2月
抵消101315182023262831333639


唯一的區別是Zeller的算法(z)和不同的高斯算法(G), 那是zG= 1 =星期日.

(3月= 3z但是3月= 1G

王的算法

王的算法[11]對於人類的計算,Gregorian日曆為(如果年度為LEAP年,則應將公式減去1或2)

在哪裡

  • 是年度的最後一位數(單位)
  • 是本年度的第二個數字(
  • 是世紀,由
  • 是每月的一天(1至31個)
  • 是月份(1月=​​ 1,…,12月= 12)
  • 是一周的一天(0 =星期日,…,6 =星期六)
  • 是null-Days功能(月偏移),下表中列出了值
m
11一天
35m+ 2
57
79
93m+ 1
1112
212m+ 3
42m - 2
64
86
108
1210

朱利安日曆的算法可以從上面的算法中得出

在哪裡是世界末日。

m
13C日
37m+ 4
59
711
95m - 4
117
20m - 2
44m
66
88
1010
1212

其他算法

Schwerdtfeger的方法

在Schwerdtfeger的部分錶格方法中,這一年分為本世紀的兩位數。該方法取決於月份。為了m≥3

所以g在0到99之間。m= 1,2

一周中的公式是[7]

選擇正模量的地方。[7]

的價值e從下表獲得:

m123456789101112
e032503514624

的價值f從下表獲得,取決於日曆。對於Gregorian日曆,[7]

cmod 40123
f0531

對於朱利安日曆,[7]

cmod 70123456
f5432106

劉易斯·卡洛爾的方法

查爾斯·盧特維奇·道奇(Charles Lutwidge Dodgson)(劉易斯·卡羅爾(Lewis Carroll))設計了一種類似於拼圖的方法,但在幾個月內使用與上面的“完整表:朱利安和格里高利日曆”中相同的索引編號。他列出了在非兩年的頭三個月中相同的三個調整,最後一個提高了7個調整,並給出了一個隱秘的指示來查找其餘部分。他的幾個世紀的調整要使用類似於幾個世紀表的公式來確定。儘管明確說他的方法也適用於老式日期,他的示例在下面複製以確定“ 1676年2月23日”是一個星期三僅在1月1日開始的朱利安日曆上作品,而不是3月25日,如“舊樣式”朱利安日曆.

算法:[12]

以4個部分為特定日期,即。幾個世紀的數量,年數,一個月,每月的日子。

計算以下4個項目,將每個項目添加到先前項目的總和中。當項目或總數超過7時,除以7,僅保留其餘部分。

世紀項目:老式'(結束於1752年9月2日)從18。新風格'(1752年9月14日開始)除以4,從3,剩餘的剩餘時間佔2。

年份:加在一起,加在一起,誇張中的數十個數字,誇張和4s的數量。

月份:如果它以元音開頭或結尾,則減去數字,在一年中表示其位置,從10歲起。一月的項目為“ 0”;在2月或3月,“ 3”;12月,“ 12”。

日期:因此,必須通過扣除“ 1”來糾正總計(如果總計為“ 0”),則必須糾正總計,如果日期是1月或2月的leap年,請記住每年,排除在4個是leap的一年,除了世紀以外的“新風格”,幾個世紀的數量不那麼分開時(例如1800年)。

最終結果給出了一周中的一天,“ 0”表示星期日,1”星期一,依此類推。

例子:[12]

1783年9月18日

17,除以4,葉“ 1”。1從3給出“ 2”;兩次2是“ 4”。83是6打,11分,17;加2給出19,即(除以7)“ 5”。總計9,即“ 2”,八月的項目是“從10”,即“ 2”;因此,在9月份,它是“ 2加31”,即“ 5”總計7,即“ 0”,熄滅。18給出“ 4”。回答,“星期四”。

1676年2月23日

16從18給出“ 2” 76是6打,4個,給出10;加1給出11,即“ 4”。總計2月份的項目為“ 3”。總計9,即“ 2” 23給出“ 2”。LEAP年的總“ 4”更正給了“ 3”。回答,“星期三”。

自1676年2月23日以來(2月為2月為第二個月)是卡羅爾(Carroll),是1676年3月4日的同一天,他未能得出正確的答案,即“星期五”,是格雷戈里亞日曆上的舊式日期是與1677年3月5日的同一天。他是否正確地假設了這一年3月25日,他的方法本來會佔不同的數字 - 就像喬治華盛頓在兩個日曆之間的生日有所不同。

值得注意的是,那些重新出版Carroll方法的人未能指出他的錯誤,最值得注意的是馬丁·加德納.[13]

1752年,大英帝國放棄了對老式朱利安日曆採用公曆,這已成為當今世界上大多數國家的標準。有關更多背景,請參閱舊式和新樣式日期.

計算機代碼中的方法

基思

在裡面C語言下面的表達式,ymd分別是代表年份的整數變量(例如1988年),月(1-12)和本月的日(1-31)。

d+=m<3y - :y-223*m/9+d+4+y/4-y/100+y/400%7

1990年,邁克爾·基思(Michael Keith)和湯姆·克勞弗(Tom Craver)發表了上述表達式,該表達式旨在最大程度地減少進入獨立功能所需的擊鍵數量,以將格里高利日期轉換為一周中的數字日。[14]它返回0=星期日,1=星期一,等。此表達式使用的月份比Zeller的算法少。

此後不久,漢斯·拉赫曼(Hans Lachman)簡化了其算法,以便於低端設備。正如最初為四功能計算器設計的那樣,他的方法通過將其範圍限制在公元1905 - 2099年或歷史朱利安日期來限制在公元1905 - 2099年。後來經過修改以轉換任何Gregorian日期,即使在算盤。上摩托羅拉68000 - 基於設備,同樣需要任何一個的需求處理器寄存器或者opcodes,取決於預期的設計目標。[15]

Sakamoto的方法

Tøndering的算法的表格先驅體現在以下K&R C功能。[16]隨著次要變化,它適用於其他高級編程語言APL2.[17]由tomohiko sakamoto發表在comp.lang.c上USENET新聞組在1992年,任何格里高利日期都是準確的。[18][19]

Dayofweekymd/ * 1 <= m <= 12,y> 1752(在英國) */{靜止的intt[]={032503514624};如果m<3{y -  =1}返回y+y/4-y/100+y/400+t[m-1]+d%7}

它返回0=星期日,1=星期一,等等

Sakamoto還同時發布了一個更加迷惑的版本:

道瓊斯mdy{y -  =m<3返回y+y/4-y/100+y/400+“ -bed =筆+瘋狂。”[m]+d%7}

此版本編碼字符串中的一個月偏移,因此需要使用標準的計算機ASCII正確運行該算法,減少其可移植性。此外,兩種算法省略了int類型聲明,在原件中允許K&R C但不允許ansi c.

(Tøndering的算法再次與Zeller的一致性和Keith的簡短代碼相似,但與月相關的組件是31*m/12。Sakamoto的位置位於不同的高斯和Schwerdtfeger的算法之間,顯然不知道表達形式。)

高斯在matlab中

%示例日期輸入Y1=2022M1=1D1=1month_offset= [033614625035];百分比普通年%偏移如果y1 leap年如果modY14==0&&modY1100==0&&modY1400==0month_offset= [034025036146];% 閏年結尾Gregor%Weekday_gregor=REMD1+month_offsetM1+5*REMY1-14+4*REMY1-1100+6*REMY1-1400),7%朱利安Weekday_julian=REM6+5*REMY1-14+3*Y1-1),7

0:星期日1:星期一.. 6:星期六

也可以看看

參考

筆記

  1. ^要詳細解釋這一點,請可視化懸掛在周日開始一個月(例如2020年3月)的牆上的日曆。您會發現第一是星期日。現在數七天。這將您帶到第八名,這也是星期日。計算十天。這將您帶到第18位,這是星期三。現在,第四個是星期三(是星期日1日之後的三天)。計數七天。這將您帶到週日8日星期三的三天11日。又計算又七天。這將您帶到週三15日星期日三天的18日(星期日)之後的三天。
  2. ^第一列中的數字是Propict的 - 直到1582年才設計Gregorian日曆。請參閱表面的音符。
  3. ^朱利安世紀(Julian Century)從公元前1公元前開始也出現在桌子的這條線(700的左側)上,但沒有任何空間包括它。

引用

  1. ^一個b兄弟,哈丁;羅森,湯姆Conn,Rex C.;保羅,馬蒂亞斯·R。染料,查爾斯E。;Georgiev,Luchezar I.(2002-02-27)。4DOS 8.00在線幫助.
  2. ^“ HP Prime -Portal:固件更新”(在德國)。摩拉維亞教育。2015-05-15。存檔從2016-11-05的原始。檢索2015-08-28.
  3. ^Paul,Matthias R.(1997-07-30)。NWDOS-tips - 提示和技巧Rund Umnovell DOS 7,麻省理工學院Blick Auf undokementierte詳細信息,錯誤和解決方法.mpdostip。版本157(德語)(第3版)。存檔從2016-11-04的原始。檢索2014-08-06.(NB。nwdostip.txt是一項全面的工作Novell Dos 7Opendos 7.01,包括描述許多無證件功能和內部。它是作者較大的一部分mpdostip.zip收集到2001年維護,並在當時的許多站點上分發。提供的鏈接點指向HTML轉換的舊版本的nwdostip.txt文件。)
  4. ^Richards,E。G.(1999)。映射時間:日曆及其歷史記錄.牛津大學出版社.ISBN 978-0-19-850413-9.
  5. ^REXX/400參考手冊第87頁(1997)。
  6. ^一個bGauss,Carl F.(1981)。“ Den Wochentag des 1. Januar Eines Jahres ZuFinden。GueldeneZahl。Epakte。Ostergrenze。”。韋爾克。Herausgeben von der koeniglichen gesellschaft der der wissenschaften zu goettingen(第二版)。希爾德斯海姆:喬治·奧爾姆斯·維拉格(Georg Olms Verlag)。pp。206–207。ISBN 978-3-48704643-3.
  7. ^一個bcdefSchwerdtfeger,Berndt E.(2010-05-07)。“高斯的日曆公式(PDF)(1.4.26版)。檢索2012-12-23.
  8. ^克拉特奇克,莫里斯(1942)。“第5章:日曆”。數學娛樂(第二修訂[Dover]編輯)。 Mineola:多佛出版物。第109–116頁。ISBN 978-0-48645358-3.
  9. ^Rosen,Kenneth H.(2011)。基本數字理論及其應用。艾迪生·衛斯理。pp。134–137。ISBN 978-0321500311.
  10. ^Stockton,J。R.(2010-03-19)。“ RektorChr。Zeller的日曆作品:每天和復活節的公式”.梅林。檢索2012-12-19.
  11. ^王,徐明(2015年3月)。“計算一周中的一天:零日算法”(PDF).休閒數學雜誌。第3號。 5。
  12. ^一個b道奇,C.L。 ((劉易斯·卡羅爾(Lewis Carroll))。(1887)。“在任何給定日期找到一周的一天”。自然,1887年3月31日。映射時間,第299-301頁。
  13. ^馬丁·加德納。 (1996)。手帕中的宇宙:劉易斯·卡羅爾(Lewis Carroll)的數學娛樂,遊戲,難題和詞戲,第24-26頁。 Springer-verlag。
  14. ^邁克爾·基思(Michael Keith)湯姆·克雷弗(Tom Craver)。 (1990)。終極永久日曆?休閒數學雜誌,22:4,第280-282頁。
  15. ^4功能計算器;摩托羅拉68000孤兒的組裝;算盤。Gopher://sdf.org/1/users/retroburrowers/tempormoretrology
  16. ^“每天的算法需要!”新聞:[email protected]
  17. ^APL2成語工作區:日期和時間算法,第15行。ftp://ftp.software.ibm.com/ps/products/apl2/info/apl2idioms.pdf(2002)
  18. ^“日期 - >一周的轉換日”.Google新聞組:Comp.lang.c。 1992年12月。檢索2020-06-21.
  19. ^“道瓊斯指數”.Google新聞組:Comp.lang.c。 1994。檢索2020-06-21.

進一步閱讀

  • Hale-Evans,Ron(2006)。“黑客#43:計算任何工作日”.心智性能黑客(第一版)。北京:O'Reilly。 pp。164–169.ISBN 9780596101534.
  • Thioux,馬克;斯塔克(David E。);克萊恩(Cheryl);Schultz,Robert T.(2006)。“您在700毫秒內出生的一周中的一天:自閉症Savant中的日曆計算”。實驗心理學雜誌:人類的看法和表現.32(5):1155–1168。doi10.1037/0096-1523.32.5.1155.PMID 17002528.
  • Treffert,Darold A.(2011-10-12)。“為什麼要計算?”。天才島:自閉症,獲得和突然的熟練的富裕思想(1. Publ。,[Repr。]。ed。)。倫敦:傑西卡·金斯利(Jessica Kingsley)。第63-66頁。ISBN 9781849058735.

外部鏈接