int easter_days
(int year);指定した年 year において3月21日以降復活祭までの日数を返します。 year が指定されない場合、現在の年が仮定されます。
この関数は、UNIX時の範囲外(すなわち1970年以前または2037年以降)の復活祭を 計算するためにeaster_dateの代わりにしようすることが できます。
例 1. easter_date の例
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@ely.anglican.org>によるCプログラムに基づくものです。)
easter_dateも参照ください。