そのまんま!

easter_days

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

easter_days --  指定した年において、3 月 21 日から復活祭までの日数を得る

説明

int easter_days ( [int year [, int method]] )

指定した年 year において、3 月 21 日から復活祭までの日数を返します。 year が指定されない場合、現在の年が仮定されます。

PHP 4.3.0 以降、year はオプションのパラメータと なり、もし指定されなかった場合は、地方時にもとづいた現在の年が デフォルトとなります。

method パラメータもまた PHP 4.3.0 以降で登場 したもので、これを CAL_EASTER_ROMAN に設定すると 1582 年から 1752 年までの復活祭の日付をグレゴリウス暦にもとづいて 計算します。それ以外に使用可能な定数については カレンダー定数を参照ください。

この関数は、Unix 時の範囲外(すなわち 1970 年以前または 2037 年以降)の復活祭を 計算するために easter_date() の代わりに使用することが できます。

例 1. easter_days() の例

<?php

echo easter_days(1999);        // 14, すなわち 4 月  4 日
echo easter_days(1492);        // 32, すなわち 4 月 22 日
echo easter_days(1913);        //  2, すなわち 3 月 23 日

?>

復活祭の日付は、西暦 325 年の Nicaea の会議で春分の日以降の 最初の満月の後の日曜日として定義されました。 満月とその次の日曜日の日付の計算を簡単にするために 春分の日は常に 3 月 21 日になるとして計算されます。 ここで用いるアルゴリズムは、532 年頃に Dionysius Exiguus により 導出されたものです。(1753 年より前の年に関して)ユリウス暦のもとでは 月の周期を追うために簡単な 19 年周期が用いられます。グレゴリウス暦 (1753 年以降。この暦は Clavius と Lilius により考案され、 教皇グレゴリウス 13 世により 1582 年 10 月に導入、イギリス及びその植民地に 1752 年 9 月に導入された) のもとで、二つの補正係数が周期をより正確に作成するために追加されました。

(このコードは、Simon Kershaw, <webmaster at ely.anglican dot org> による C プログラムに基づくものです。)

easter_date() も参照ください。