Учебник РНР (перевод Alexandr Pyramidin) Размещено на PHPClub.Net
Назад Вперёд

easter_days

(PHP 3>= 3.0.9, PHP 4 )

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, <[email protected]>)

См. также easter_date().


Назад Оглавление Вперёд
easter_date Вверх FrenchToJD