Преобразование между юлианским и григорианским календарями
Простой подсчет
Чтобы перейти от начальной даты в юлианском календаре к соответствующей дате в григорианском календаре, необходимо добавить следующее:
- 10 дней от 5 октября 1582 года июл. / 15 октября 1582 г. гр. до 18 февраля 1700 июл. / 28 февраля 1700 гр.
- 11 дней с 19 февраля 1700 июл. / 1 марта 1700 гр. до 17 февраля 1800 июл. / 28 февраля, 1800 гр.
- 12 дней с 18 февраля 1800 июл. / 1 марта 1800 г. гр. до 16 февраля 1900 года июля. / 28 февраля 1900 гр.
- 13 дней от 17 февраля 1900 года июля. / 1 марта 1900 г. гр. до 15 февраля 2100 июл. / 28 февраля 2100 гр.
В те годы, в которых только по юлианскому календарю считается високосным, то есть 1700, 1800, 1900, 2100, всегда следует считать 29 февраля. И наоборот, чтобы перейти от даты по григорианскому календарю к дате по юлианскому календарю, необходимо отсчитать указанное количество дней.
Математическое решение
Дата указывается в формате YMT (год-месяц-день). Преобразование между Джулианом и григорианского календаря происходит в три этапа:
- Расчет дневной разницы
- Сложение / вычитание дневной разницы
- Корректировка даты
Расчет дневной разницы
Сначала вы разделите J на 100, чтобы получить (целое!) Число столетия (например, для года 1960 → JH = 19). Для месяцев января и февраля (M ≤ 2) год J должен быть уменьшен на единицу перед вычислением JH (JH = результат целого числа ((J-1) / 100)).
Затем вычисляется (целое!) Как:
a = JH/4
и
b als Rest dieser Division.
Таким образом, дневная разница рассчитывается по формуле:
TD = 3*a + b - 2
Математически правильно записано это:
Сложение / вычитание дневной разницы
При преобразовании григорианского языка в юлианский вычитается дневная разница:
T = T - TD
При конвертации юлианского в григорианский языки добавляется дневная разница:
T = T + TD
Корректировка даты
Григорианский → Юлианский:
- После вычитания дневной разницы преобразованный день может быть меньше или равен 0. В этом случае добавляется продолжительность предыдущего месяца, и предыдущий месяц становится новым месяцем.
- При изменении года год нужно уменьшить на 1.
- Правило юлианского високосного года применяется к длине февраля.
Юлианский → Григорианский:
- При добавлении дневной разницы преобразованный день может быть больше длины месяца. В этом случае продолжительность месяца вычитается, и следующий месяц становится новым месяцем.
- При изменении года номер года необходимо увеличить на 1.
- Григорианское правило високосного года применяется к длине февраля.
Примеры
Григорианский → Юлианский
8. Januar 1621 GK: JH = 1620/100 = 16 (Jahreszahl um 1 vermindern, da Monat Januar) JH/4 = 4 Rest 0 TD = 3*4 + 0 - 2 = 10 T = 8 - 10 = -2 (kleiner Null; daher Monatskorrektur) M = 12 (Monatsübergang) J = 1620 (Jahresübergang) T = -2 + 31 = 29 (Länge des Vormonats 31 Tage) → 29. Dezember 1620 JK
1. März 1700 GK: JH = 1700/100 = 17 JH/4 = 4 Rest 1 TD = 3*4 + 1 - 2 = 11 T = 1 - 11 = -10 (kleiner Null; daher Monatskorrektur) M = 2 (Monatsübergang) T = -10 + 29 = 19 (Länge des Vormonats 29 Tage; julianische Schaltjahresregel) → 19. Februar 1700 JK
10. Januar 1900 GK: JH = 1899/100 = 18 (Jahreszahl um 1 vermindern, da Monat Januar) JH/4 = 4 Rest 2 TD = 3*4 + 2 - 2 = 12 T = 10 - 12 = -2 (kleiner Null; daher Monatskorrektur) M = 12 (Monatsübergang) J = 1899 (Jahresübergang) T = -2 + 31 = 29 (Länge des Vormonats 31 Tage) → 29. Dezember 1899 JK
Иллюстративный григорианский календарь
Юлианский → Григорианский
29. Dezember 1620 JK: JH = 1620/100 = 16 JH/4 = 4 Rest 0 TD = 3*4 + 0 - 2 = 10 T = 29 + 10 = 39 (größer als Monatslänge; daher Monatskorrektur) T = 39 - 31 = 8 (Länge des Monats 31 Tage) M = 1 (Monatsübergang) J = 1621 (Jahresübergang) → 8. Januar 1621 GK
19. Februar 1700 JK: JH = 1699/100 = 16 (Jahreszahl um 1 vermindern, da Monat Februar) JH/4 = 4 Rest 0 TD = 3*4 + 0 - 2 = 10 T = 19 + 10 = 29 (größer als Monatslänge; daher Monatskorrektur) T = 29 - 28 = 1 (Länge des Monats 28 Tage; gregorianische Schaltjahresregel) M = 3 (Monatsübergang) → 1. März 1700 GK
29. Dezember 1899 JK: JH = 1899/100 = 18 JH/4 = 4 Rest 2 TD = 3*4 + 2 - 2 = 12 T = 29 + 12 = 41 (größer als Monatslänge; daher Monatskorrektur) T = 41 - 31 = 10 (Länge des Monats 31 Tage) M = 1 (Monatsübergang) J = 1900 (Jahresübergang) → 10. Januar 1900 GK
Иллюстративный юлианский календарь
веб ссылки
- Калькулятор календаря онлайн (версия Waybackmachine от 19 июля 2016 г., 03:28:28)