Преобразование между юлианским и григорианским календарями

Простой подсчет

Календарный лист на март 1900 года
Календарный лист Февраль 1900 г.

Чтобы перейти от начальной даты в юлианском календаре к соответствующей дате в григорианском календаре, необходимо добавить следующее:

  • 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
Иллюстративный григорианский календарь
Календарь с 15 октября 1582 года

Юлианский → Григорианский

 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
Иллюстративный юлианский календарь
Календарь с 1 января 1 года (поправка с августа по 8 год не учитывается )

веб ссылки

Commons : вечные календари  - коллекция изображений, видео и аудио файлов.