Календари
В&K: Конверторы и утилиты:

Расчет Православной Пасхалии
Определение дат Православной Пасхи и Двунадесятых преходящих праздников по формулам Гаусса

Год от Р.Х.   Стиль   

Алгоритм вычисления даты Православной Пасхи.

(mod - от операции деления берется отстаток)

Year - номер года
a = Year mod 19
b = Year mod 4
c = Year mod 7
d = (19 * a + 15) mod 30
e = (2 * b + 4 * c + 6 * d + 6) mod 7,

Если (d + e) > 10, то Пасха будет (d + e - 9) апреля ст. стиля, в противном случае - (22 + d + e) марта ст. стиля.

Дата Пасхи может варьироваться от 22 марта до 25 апреля (датировка по ст. стилю).
При переводе даты со старого стиля (Юлианского) в новый (Григорианский) необходимо к полученной дате прибавить 13, а с 1 марта 2100 года - 14.

Cм. также Рука Дамаскина.

Источник: С.Куликов. Нить времен. "Наука", 1991

Аналогичные ресурсы:
Праздники пасхального цикла Православной библиотеки ТГТУ. Реализованно на Java.
Православный календарь для вычисления Пасхалии на любой год по старому и новому стилям.

Примечания.

  1. К сожалению в предыдущей версии скрипта я допустил досадную ошибку (а с точки зрения программиста непростительную) в операциях вычисления дат. Прошу у всех извинений.
  2. Можно получить месяц и день православной Пасхи, дополнив вышеприведенный алгоритм Гаусса следующим кодом:
    z = d + e
    month = (z + 25) div 35 + 3
    day = z + 22 - 31 * (month div 4).
    Комментарий: код получен эмпирическим путем, так же вычисляется день и месяц католической Пасхи в алгоритме Оудина.
  3. У Куликова вообще-то ошибка (d + e) > 10, т.к. в случае d + e = 10 получается дата 22 + 10 = 32.03. На самом деле необходимы следующие изменения (d + e) >= 10 или (d + e) > 9.
    d + e = 09 => 22 + 09 = 31.03
    d + e = 10 => 22 + 10 = 32.03 (???)
    d + e = 11 => 11 - 09 = 02.04


© "Календари", 2000-2001. Андрей Лебедев.
Размещено на сервере Narod.ru.
Поиск по сайту через Yandex.
ЧИСТЫЙ ИНТЕРНЕТ - logoSlovo.RU Апорт Top 1000 TopList

Используются технологии uCoz