2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不再支援的版本: 12 / 11 / 10 / 9.6

B.7. 儒略日 #

儒略日期系統是一種為天數編號的方法。它與儒略曆無關,儘管其名稱與該曆法相似,容易混淆。儒略日期系統是由法國學者 Joseph Justus Scaliger(1540-1609)發明的,其名稱可能取自 Scaliger 的父親,義大利學者 Julius Caesar Scaliger(1484-1558)。

在儒略日期系統中,每天都有一個順序編號,從 JD 0 開始(有時稱為“儒略日”)。JD 0 對應於儒略曆中的公元前 4713 年 1 月 1 日,或格里高利曆中的公元前 4714 年 11 月 24 日。儒略日期計數最常被天文學家用於標記他們的夜間觀測,因此日期從世界標準時中午到下一個世界標準時中午,而不是從午夜到午夜:JD 0 指定了從公元前 4714 年 11 月 24 日世界標準時中午到公元前 4714 年 11 月 25 日世界標準時中午的 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)

提交更正

如果您在文件中發現任何不正確之處、與您對特定功能的體驗不符之處,或需要進一步澄清之處,請使用此表格報告文件問題。