儒略日系统是一种对日期进行编号的方法。它与儒略历无关,尽管它的名称与儒略历相似,容易混淆。儒略日系统是由法国学者约瑟夫·贾斯特斯·斯卡利格(Joseph Justus Scaliger,1540-1609)发明的,它的名字可能来源于斯卡利格的父亲,意大利学者朱利叶斯·凯撒·斯卡利格(Julius Caesar Scaliger,1484-1558)。
在儒略日系统中,每一天都有一个连续的数字,从JD 0开始(有时称为the儒略日)。JD 0对应于儒略历中的公元前4713年1月1日,或格里高利历中的公元前4714年11月24日。儒略日计数最常被天文学家用于标记他们的夜间观测,因此日期从UTC中午到下一个UTC中午运行,而不是从午夜到午夜:JD 0指定了从公元前4714年11月24日UTC中午到公元前4714年11月25日UTC中午的24小时。
尽管 PostgreSQL 支持儒略日表示法来输入和输出日期(并且还使用儒略日进行一些内部日期时间计算),但它并不遵守日期从中午到中午运行的惯例。PostgreSQL 将儒略日视为从当地午夜到当地午夜运行,与普通日期相同。
但是,此定义确实提供了一种在需要时获得天文定义的方法:在时区 UTC+12
中进行算术运算。例如,
=> SELECT extract(julian from '2021-06-23 7:00:00-04'::timestamptz at time zone 'UTC+12'); extract ------------------------------ 2459388.95833333333333333333 (1 row) => SELECT extract(julian from '2021-06-23 8:00:00-04'::timestamptz at time zone 'UTC+12'); extract -------------------------------------- 2459389.0000000000000000000000000000 (1 row) => SELECT extract(julian from date '2021-06-23'); extract --------- 2459389 (1 row)
如果您在文档中发现任何不正确、与您使用特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。