easter_days - получает дату - количество дней после 21 марта, на которую падает Easter в данном году.
Описание
int easter_days ([int year [, int method]])
Возвращает дату - количество дней после 21 марта, на которую падает Easter
в данном году. Если год не специфицирован, по умолчанию используется текущий год.
После PHP 4.3.0 параметр year является необязательным и по умолчанию имеет значение текущего года в
соответствии с локальным временем, если этот параметр опущен.
Параметр method также был введён в PHP 4.3.0 и даёт возможность рассчитывать easter-даты на основе Григорианского
календаря для лет 1582 - 1752, если имеет значение CAL_EASTER_ROMAN. См. календарные константы.
Эта функция может использоваться вместо easter_date() для расчёта Easter для тех лет, которые находятся вне диапазона штампов
времени UNIX (до 1970 или после 2037).
Пример 1. easter_days()
echo easter_days (1999); /* 14, i.e. April 4 */
echo easter_days (1492); /* 32, i.e. April 22 */
echo easter_days (1913); /* 2, i.e. March 23 */
Дата Easter Day была определена советом Council of Nicaea в
AD325 как воскресенье после первого полнолуния или после Spring Equinox/весеннего
равноденствия. Equinox всегда выпадает на 21 марта, так что вычисление
сводится к определению даты полнолуния и даты следующего воскресенья.
Используемый здесь алгоритм ввёл Dionysius Exiguus около 532 года. В Юлианском летосчислении (до
1753 г.) используется простой 19-летний цикл для отслеживания фаз луны. В Григорианском календаре (для лет после 1753 -
изобрели Clavius и Lilius, ввёл Папа Gregory XIII в октябре 1582 г., а в Британии и колониях - в сентябре 1752 г.)
добавлены два корректирующих фактора для уточнения цикла.
(Этот код основан на С-программе Simon Kershaw, <webmaster@ely.anglican.org>)