計算機程式設計/希伯來曆
編寫希伯來曆應用程式:
本希伯來曆機制摘要的預期讀者是希望設計能夠準確計算希伯來曆日期的軟體的計算機程式設計師。以下詳細資訊可能有助於驗證此類軟體。但是,請注意,已釋出的希伯來曆演算法比下面列出的詳細資訊簡單得多,並且在計算機實現希伯來曆算術中無需使用表格。通常,表格對於手動執行計算的人類來說是很有用的捷徑。
- 希伯來曆是透過朔望月來計算的。一個平均朔望月被認為是 29 天 12 小時 44 分 3⅓ 秒,或者等效於 765433 個部分 = 29 天 13753 個部分,其中 1 分鐘 = 18 個部分(halakim 複數,helek 單數)。
- 普通年必須是 353、354 或 355 天;閏年必須是 383、384 或 385 天。353 或 383 天的年份稱為 haserah。354 或 384 天的年份是 kesidrah。355 或 385 天的年份是 shlemah。
- 閏年遵循 19 年的週期,其中第 3、6、8、11、14、17 和 19 年是閏年。希伯來曆 5758 年(從公曆 1997 年開始)是一個週期的第一年。
- 19 年等於 235 個朔望月。
- 月份是提斯利月、赫什萬月、基斯列月、特貝特月、什瓦特月、阿達月、尼散月、依亞月、西萬月、坦穆斯月、阿夫月和埃盧月。在閏年,阿達月被阿達爾二世(也稱為阿達爾謝尼或維阿達爾)取代,並在阿達爾二世之前插入一個額外的月份,阿達爾一世(也稱為阿達爾裡松)。
- 每個月都有 29 天或 30 天。30 天的月份是滿月(מלא 發音為:maleh、maley 或 malei),而 29 天的月份是缺月(חסר 發音為:ħaser 或 khaser)。
- 尼散月、西萬月、阿夫月、提斯利月和什瓦特月始終是滿月。
- 依亞月、坦穆斯月、埃盧月、特貝特月和阿達月(閏年為阿達爾二世)始終是缺月。
- 閏年在阿達爾二世之前新增的阿達爾一世是滿月。
- 赫什萬月和基斯列月是可變的。有三種可能的組合:兩個缺月、兩個滿月、赫什萬月缺月和基斯列月滿月。
- 提斯利月 1 日(新年)是發生molad(平均月球合朔時刻)的那一天,除非與某些延期(dehiyyot 複數;dehiyyah 單數)衝突。請注意,對於日曆計算,猶太日期從下午 6 點開始,或在公曆日期變化的午夜前 6 個固定小時,而不是在晚上或日落時,觀察到的希伯來日期開始。
- 延期 A 是必需的,每當提斯利月 10 日(贖罪日)落在星期五或星期天,或者提斯利月 21 日(住棚節的第七天)落在星期六時。這等效於朔望月落在星期天、星期三或星期五。每當這種情況發生時,提斯利月 1 日將延遲一天。
- 延期 B 是必需的,每當朔望月發生在中午或之後時。當存在此延期時,提斯利月 1 日將延遲一天。如果這與延期 A 衝突,那麼提斯利月 1 日將再延遲一天。
- 延期 C:如果該年是普通年,並且朔望月落在星期二上午 3:11:20(3 小時 204 個部分)或之後,那麼提斯利月 1 日將延遲兩天——如果沒有延遲,那麼產生的年份將是 356 天長。
- 延期 D:如果新年緊隨閏年,並且朔望月落在星期一上午 9:32:43⅓(9 小時 589 個部分)或之後,那麼提斯利月 1 日將延遲一天——如果沒有延遲,那麼前一年將只有 382 天。
- 延期是透過在前一年基斯列月增加一天來實現的,使其成為滿月。如果基斯列月已經是滿月,那麼這一天將新增到前一年的赫什萬月,使其也成為滿月。如果需要延遲兩天,那麼前一年的赫什萬月和基斯列月都將成為滿月。
- 現代的參考紀元是希伯來曆 5758 年的提斯利月朔望月,即公曆 1997 年 10 月 1 日星期三 22:07:10,或等效於午夜參考的儒略日號 2450723 加上 23889 個部分。此紀元也標誌著一個週期的開始。注意:雖然儒略日號從中午開始,但出於程式設計目的,可以提前計算 12 小時,這就是這裡“午夜參考”的含義。
在計算希伯來日期時,可以採用多種方法。一種廣為人知的文件方法使用部分周和一個限制表。此方法依賴於所有延期都以七天為一個週期來定義。這意味著可以在紀元和當前年的朔望月之間消除整個星期,只留下一個包含幾天、幾小時和幾個部分的部分星期。
- 一個 19 年的週期包含 235 個朔望月,每個朔望月為 29d 12h 793p,或 6939d 16h 595p。消除 991 個星期,剩下一個部分星期為 2d 16h 595p 或 69715p。
- 普通年包含 12 個朔望月,每個朔望月為 29d 12h 793p,或 354d 8h 876p。消除 50 個星期,剩下一個部分星期為 4d 8h 876p 或 113196p。
- 閏年包含 13 個朔望月,每個朔望月為 29d 12h 793p,或 383d 21h 589p。消除 54 個星期,剩下一個部分星期為 5d 21h 589p 或 152869p。
如果朔望月發生在中午或之後,則需要延期 B,要求延遲到第二天(從下午 6 點開始),這實際上意味著出於計算目的,星期從星期六中午開始。
計算所期望的希伯來曆年和前一個星期六中午之間的部分星期,考慮到 AM 1(或最近一個 19 年週期的第一年)的提斯利月朔望月之前的部分星期以及來自當前週期中介週期和年份的部分星期,透過 mod 181440(一個星期中的部分數)消除整個星期。
因此,AM 1 的提斯利月朔望月,在星期六下午 6 點之後 1d 5h 204p,增加了 6 個小時,變成 1d 11h 204p 或 38004p。這比一週的第二天(下午 6 點)開始晚 5h 204p。用西方術語來說,這是星期天(因為它在午夜之前)的 23:11:20,即公元前 3761 年 10 月 6 日,在推算的儒略曆中。此日期是午夜參考的儒略日號 347997。查閱下面的限制表,提斯利月 1 日是一週的第二天,等效於表格中星期一(與希伯來日期相同的日光時間)的西方日期,即公元前 3761 年 10 月 7 日。這意味著不需要延期(提斯利月朔望月和提斯利月 1 日都在一週的第二天)。
或者,可以將最近的希伯來曆年的朔望月作為紀元,如果它是 19 年週期的第一年,例如 5758(在規則 9 中使用),它是在 AM 1 的提斯利月朔望月之後 303 個 19 年的週期。因此,5758 年的提斯利月朔望月是 (38004 + 303×69715) mod 181440 = 114609 個部分,在星期六中午之後,或 4d 10h 129p,這比一週的第五天(下午 6 點)開始晚 4h 129p。用西方術語來說,這是在午夜之前,這產生了規則 9 中指出的日期和時間。查閱限制表,提斯利月 1 日是一週的第五天,或表格中的星期四 1997 年 10 月 2 日(公曆),同樣不需要延期。
透過將延期應用於任何希伯來曆年開始和結束時的提斯利月朔望月,可以開發出四門(希伯來語:arba'ah sha'arim)的表格,它也是一個限制表,可以唯一地識別該年是 14 種類型中的哪一種(提斯利月 1 日的星期幾、赫什萬月和基斯列月的總天數,以及是普通年還是閏年(朔望月))。[1][2][3][4] “四門”指的是該年可以開始的四個允許的星期幾。第一個四門表是由薩迪亞·加翁(892-942)開發的。[1][2] 在下面的表格中,19 年週期的年份列在頂行,分為四組:閏年後的普通年,但在普通年之前(LCC,1 4 9 12 15)、兩個閏年之間的普通年(LCL,7 18)、普通年後的普通年,但在閏年之前(CCL,2 5 10 13 16),或兩個普通年之間的閏年(CLC,3 6 8 11 14 17 19)。左側的星期六中午以來的星期被一組限制劃分,提斯利月朔望月可以在這些限制之間找到。表格主體中產生的年份型別指示提斯利月 1 日的希伯來星期幾(2、3、5 或 7)、四門,以及該年是缺月(-1)、正常(0)還是盈月(+1)。
| LCC 1 4 9 12 15 |
LCL 7 18 |
CCL 2 5 10 13 16 |
CLC 3 6 8 11 14 17 19 | ||
| 0 ≤ molad < | 16404 | 2 , −1 | |||
| 16404 ≤ molad < | 28571 | ||||
| 28571 ≤ molad < | 49189 | 2 , +1 | |||
| 49189 ≤ molad < | 51840 | ||||
| 51840 ≤ molad < | 68244 | 3 , 0 | |||
| 68244 ≤ molad < | 77760 | ||||
| 77760 ≤ molad < | 96815 | 5 , 0 | 5 , −1 | ||
| 96815 ≤ molad < | 120084 | ||||
| 120084 ≤ molad < | 129600 | 5 , +1 | |||
| 129600 ≤ molad < | 136488 | ||||
| 136488 ≤ molad < | 146004 | 7 , −1 | |||
| 146004 ≤ molad < | 158171 | ||||
| 158171 ≤ molad < | 181440 | 7 , +1 | |||
- ↑ a b Bushwick, pp.95-97, 希伯來語和英語。Bushwick 忽略了閏年的 5 和 -1。
- ↑ a b Poznanski, p.121, 希伯來語和英語。儘管 Poznanski 在文字中列出了閏年的 5 和 -1,但他在他的表格中忽略了它們。
- ↑ Resnikoff, p.276, 英語。Resnikoff 是正確的。
- ↑ 這四個門可以以多種方式呈現。Resnikoff 只使用部分(直到 181440),而 Bushwick 和 Poznanski 使用天、小時和部分。Bushwick 將星期從週六中午開始,而 Resnikoff 和 Poznanski 將他們的星期從週六下午 6 點開始。Bushwick 和 Poznanski 在左側有迴圈年,頂部有年份型別。Resnikoff 將他的表格向右旋轉了 90°,因此迴圈年在頂部,年份型別在右側,類似於此處給出的表格。