15.1. Есть ли формула для вычисления юлианской даты?

We use cookies. Read the Privacy and Cookie Policy

15.1. Есть ли формула для вычисления юлианской даты?

Попробуйте эту (все деления целочисленные, остатки отбрасываются, год — Year, месяц — Month, день — Day):

a = 14–Monh/12 y = Year + 4800 – a m = Month + 12a – 3

Для даты григорианского календаря:

JD = Day + 153m + 2/5 + 365y + y/4 – y/100 + y/400 – 32045

Для даты юлианского календаря:

JD = Day + 153m + 2/5 + 365y + y/4 – 32083

JD — это номер юлианского дня, который начинается в полдень числа, для которого производятся вычисления.

Алгоритм хорошо работает для дат в нашей эре. Если вы хотите использовать его для дат до нашей эры, необходимо перевести год до н.э. в отрицательный год (например, 10 г. до н.э. = -9). Алгоритм правильно работает для всех дат после 4800 г. до н.э., то есть по крайней мере для всех положительных юлианских дат.

Для обратного перевода (т.е. чтобы перевести юлианскую дату в день, месяц и год) можно использовать эти формулы (здесь также все деления целочисленные, год — Year, месяц — Month, день — Day):

Для григорианского календаря:

a = JD + 32044 b = 4a+3/146097 c = a – 146097b/4

Для юлианского календаря:

b=0 c=JD + 32082

Затем для любого календаря:

d = 4c+3/1461 e = c – 1461d/4 m = 5e+2/153 Day = e – 153m+2/5 + 1 Month = m + 3 – 12 x m/10 Year = 100b + d – 4800 + m/10