↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4
历史版本PostgreSQL 7.4 已于 2010 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

B.3. 历法的历史 #

儒略日由法国学者 Joseph Justus Scaliger(1540-1609)发明,其名称大概取自 Scaliger 的父亲、意大利学者 Julius Caesar Scaliger(1484-1558)。天文学家用儒略纪为自公元前 4713 年 1 月 1 日以来的每一天分配一个唯一的编号。这就是所谓的儒略日(JD)。JD 0 表示从 UTC 公元前 4713 年 1 月 1 日正午到 UTC 公元前 4713 年 1 月 2 日正午的 24 小时。

“儒略日”与“儒略历”并不相同。儒略历由 Julius Caesar 于公元前 45 年引入。在 1582 年各国开始改用格里高利历之前,它在西方世界一直被广泛使用。在儒略历中,回归年近似为 365 1/4 天 = 365.25 天。这会在大约 128 年里累计 1 天的误差。

不断累积的历法误差促使教皇格里高利十三世按照特伦托会议的指示改革历法。在格里高利历中,回归年近似为 365 + 97 / 400 天 = 365.2425 天。因此,大约要经过 3300 年,回归年与格里高利历之间才会累积出 1 天的偏差。

365+97/400 这一近似值是通过每 400 年设置 97 个闰年来实现的,具体规则如下:

每个能被 4 整除的年份都是闰年。
不过,每个能被 100 整除的年份都不是闰年。
但是,每个能被 400 整除的年份仍然是闰年。

因此,1700、1800、1900、2100 和 2200 都不是闰年,但 1600、2000 和 2400 是闰年。 相比之下,较早的儒略历规定所有能被 4 整除的年份都是闰年。

1582 年 2 月发布的教皇诏书规定,应从 1582 年 10 月删去 10 天, 使 10 月 15 日紧接在 10 月 4 日之后。这一改革在意大利、波兰、 葡萄牙和西班牙得到执行。其他天主教国家不久后也跟进,但新教 国家不愿改变,而希腊正教国家直到 20 世纪初才改用格里高利历。 大不列颠及其属地(包括今天的美国)在 1752 年实施了这项改革。 因此,1752 年 9 月 2 日之后紧接着就是 1752 年 9 月 14 日。 这就是为什么提供 cal 程序的 Unix 系统会产生 如下输出:

$ 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

注意

SQL 标准指出,“在‘日期时间字面量’的定义中, ‘日期时间值’受格里高利历中日期和时间自然规则的 约束”。1752-09-03 到 1752-09-13 之间的日期,虽然在某些 国家因教皇敕令而被删除,但它们符合“自然规则”,因此 是有效日期。

世界上不同地区发展出了不同的历法,其中许多都早于格里高利体系。 例如,中国历法的起源可以追溯到公元前 14 世纪。传说黄帝在公元前 2637 年发明了这种历法。 中华人民共和国在民用方面使用格里高利历。中国历法则用于确定节日。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。