H历史

注意:Jos� Soares 提供。
Julian 记日法是由法国学者 Joseph Justus Scaliger (1540-1609)发明的,其名称可能是取自 Scaliger 的父亲,意大利学者 Julius Caesar Scaliger (1484-1558)。天文学家已经用 Julian 周期为自 4713 BC 一月一日以来的每一天赋予了一个唯一的数字。这就是所谓的 Julian 记日法(JD)。JD 0 指定为 4713 BC 一月一日正午 UTC 到 4713 BC 一月二日正午 UTC 的 24 小时。

“Julian 日历” 与“Julian 记日”不同。Julian 日历是 Julius Caesar 在 45 BC 发明的。一直用到大约 1582 年,这时各国开始使用罗马历法。在 Julian 日历里面,一年是近似 365 1/4 天 = 365.25 天。这样大约每 128 天(?译注:应为年)就有一天的误差。不断积累的历法错误促使教皇 Gregory XIII 按照与弥撒议会( Council of Trent)一致的精神改革了历法。

在罗马历法里,一年是近似 365 + 97 / 400 天 = 365.2425 天。因此对应于罗马历法,大约要 3300 年,才会积累一天的误差。

近似的 365+97/400 是通过利用下面的规则,规定每 400 年有 97 个闰年实现的:
 
每个可被 4 整除的年是一个闰年。
不过,可被 100 整除的年不是闰年。
但是,可以被 400 整除的年还是闰年
因此,1700,1800,1900,2100 和 2200 年都不是闰年。相比而言,旧式的 Julian 历法里面只有能被 4 整除的年是闰年。

1582 二月,罗马教廷要求从 1582 年十月减去十天,因此1852 年十月四日后面紧跟着就是十五日。在意大利,波兰,葡萄牙和西班牙都这样处理了。其他天主教国家很快跟着这么做了,但是新教国家不愿意修改,而且希腊等东正教国家直到本世纪初才修改。这个改革在英国极其殖民地(包括现在的 USA)在 1752年执行了。这样 1752 年九月二日后面跟着 1752 年九月十四日。这是为什么 Unix 系统的 cal 生成下面的输出:

% cal 9 1752
   September 1752
 S  M Tu  W Th  F  S
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
注意:SQL92 声称“在日期时间字面datetime literal)的定义上,日期时间(datetime)值的日期和时间根据罗马历法受自然规则的约束”。在 1752-09-03 和 1752-09-13 之间的日子,尽管被罗马教廷的教令取消了,但为了和“自然规则”相一致,因而是有效的日期。
在世界的不同的地方,发明了许多不同的历法,有许多比罗马历法系统还早。例如,中国历法的最早应用可以追溯到公元前14世纪。传说黄帝在 2637 BC 就发明了这个历法。中华人民共和国使用罗马历法用于民用。中国历法用于决定节日/节气。(译注:老外的治学态度比我们很多人好得多,对中国历法的认识不比我们大多数人差。:*()