跳转到内容

计算机编程/希伯来历

来自维基教科书,开放的书籍,开放的世界

编写希伯来历应用程序:

本希伯来历机制摘要的预期读者是希望设计能够准确计算希伯来历日期的软件的计算机程序员。以下详细信息可能有助于验证此类软件。但是,请注意,已发布的希伯来历算法比下面列出的详细信息简单得多,并且在计算机实现希伯来历算术中无需使用表格。通常,表格对于手动执行计算的人类来说是很有用的捷径。

  1. 希伯来历是通过朔望月来计算的。一个平均朔望月被认为是 29 天 12 小时 44 分 3⅓ 秒,或者等效于 765433 个部分 = 29 天 13753 个部分,其中 1 分钟 = 18 个部分(halakim 复数,helek 单数)。
  2. 普通年必须是 353、354 或 355 天;闰年必须是 383、384 或 385 天。353 或 383 天的年份称为 haserah。354 或 384 天的年份是 kesidrah。355 或 385 天的年份是 shlemah
  3. 闰年遵循 19 年的周期,其中第 3、6、8、11、14、17 和 19 年是闰年。希伯来历 5758 年(从公历 1997 年开始)是一个周期的第一年。
  4. 19 年等于 235 个朔望月。
  5. 月份是提斯利月、赫什万月、基斯列月、特贝特月、什瓦特月、阿达月、尼散月、依亚月、西万月、坦穆斯月、阿夫月和埃卢月。在闰年,阿达月被阿达尔二世(也称为阿达尔谢尼或维阿达尔)取代,并在阿达尔二世之前插入一个额外的月份,阿达尔一世(也称为阿达尔里松)。
  6. 每个月都有 29 天或 30 天。30 天的月份是满月(מלא 发音为:malehmaleymalei),而 29 天的月份是缺月(חסר 发音为:ħaserkhaser)。
    • 尼散月、西万月、阿夫月、提斯利月和什瓦特月始终是满月。
    • 依亚月、坦穆斯月、埃卢月、特贝特月和阿达月(闰年为阿达尔二世)始终是缺月。
    • 闰年在阿达尔二世之前添加的阿达尔一世是满月。
    • 赫什万月和基斯列月是可变的。有三种可能的组合:两个缺月、两个满月、赫什万月缺月和基斯列月满月。
  7. 提斯利月 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 天。
  8. 延期是通过在前一年基斯列月增加一天来实现的,使其成为满月。如果基斯列月已经是满月,那么这一天将添加到前一年的赫什万月,使其也成为满月。如果需要延迟两天,那么前一年的赫什万月和基斯列月都将成为满月。
  9. 现代的参考纪元是希伯来历 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

参考资料

[编辑 | 编辑源代码]
  1. a b Bushwick, pp.95-97, 希伯来语和英语。Bushwick 忽略了闰年的 5 和 -1。
  2. a b Poznanski, p.121, 希伯来语和英语。尽管 Poznanski 在文本中列出了闰年的 5 和 -1,但他在他的表格中忽略了它们。
  3. Resnikoff, p.276, 英语。Resnikoff 是正确的。
  4. 这四个门可以以多种方式呈现。Resnikoff 只使用部分(直到 181440),而 Bushwick 和 Poznanski 使用天、小时和部分。Bushwick 将星期从周六中午开始,而 Resnikoff 和 Poznanski 将他们的星期从周六下午 6 点开始。Bushwick 和 Poznanski 在左侧有循环年,顶部有年份类型。Resnikoff 将他的表格向右旋转了 90°,因此循环年在顶部,年份类型在右侧,类似于此处给出的表格。
华夏公益教科书