B.7. Юлианские даты#
B.7. Юлианские даты #
Система Юлианской даты - это метод нумерации дней. Она не связана с Юлианским календарем, хотя название ее похоже на название этого календаря и может вызывать путаницу. Система Юлианской даты была изобретена французским ученым Жозефом Жюстом Скалигером (1540-1609) и, вероятно, получила свое название от отца Скалигера, итальянского ученого Юлия Цезаря Скалигера (1484-1558).
В системе Юлианской даты каждый день имеет последовательный номер, начиная с JD 0 (который иногда называют Юлианской датой). JD 0 соответствует 1 января 4713 г. до н.э. в Юлианском календаре или 24 ноября 4714 г. до н.э. в Григорианском календаре. Подсчет Юлианской даты чаще всего используется астрономами для маркировки их ночных наблюдений, и поэтому дата идет с полудня UTC до следующего полудня UTC, а не с полуночи до полуночи: JD 0 обозначает 24 часа с полудня UTC 24 ноября 4714 г. до н.э. до полудня UTC 25 ноября 4714 г. до н.э.
Хотя Tantor BE поддерживает запись и вывод дат в формате юлианской даты (и также использует юлианские даты для некоторых внутренних вычислений даты и времени), он не соблюдает правило, согласно которому дни начинаются в полдень и заканчиваются в полдень. Tantor BE рассматривает юлианскую дату как период от полуночи до полуночи по местному времени, так же, как и обычную дату.
Однако, эта определение предоставляет способ получить астрономическое
определение, когда вам это нужно: выполните арифметические операции в часовом поясе 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)