注意:由 Jos� Soares 提供。
“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 整除的年还是闰年 |
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 之间的日子,尽管被罗马教廷的教令取消了,但为了和“自然规则”相一致,因而是有效的日期。