イースターの計算

キリスト教の三大祭のひとつイースターこと復活祭は、移動祝日といって、日付が毎年変わります。その計算は言葉でいうと「春分の日の次の満月の後の最初の日曜日」ということになります。ややこしいです。

しかも、満月が日曜日なら、その次の日曜日が復活祭になるとか。
ここでいう「春分の日」というのは、天文学にもとづいて決まる春分の日ではなく、3月21日に固定されていたりとか。
そもそも「満月」というのも、天文学上の十五夜ではなく、メトン周期というもので決定される日だったりとか。(メトン周期についてはウィキペディア等を参照してください。)
ただでさえややこしいのに、各要素がさらにややこしいことになっているのです。

詳しい計算式が、どうしてこんなことになっているかも含めて堺福音教会 東京チャペルのサイト内で説明されていますので、詳しくはそちらをどうぞ。

などと紹介するだけでは芸がないので、この計算式を借用してJavaScriptで自動計算するようにしてみました。
下の「年」のところに西暦年を入れていろいろ試してみてください。ただし1900年から2099年限定です。

(表示にはDHTMLを使用して、IE6.0で動作確認しています。ほかのブラウザでは正常に表示されない場合がありますが、御容赦ください。よければこちらもお試しください。

追記:堺福音教会 東京チャペルの北牧師から、さらにこういうページも紹介していただきました。やっぱり、すでにいろいろあったんだな。

西暦年を入力 → 
復活祭(イースター)を計算→
【イースターの日付】
灰の水曜日?月??日
受難節第1日曜日は?月??日
受難節第2日曜日は?月??日
受難節第3日曜日は?月??日
受難節第4日曜日は?月??日
受難節第5日曜日は?月??日
棕櫚の日曜日?月??日
洗足木曜日?月??日
受難日?月??日
イースター?月??日
イースターの計算方法
(1)西暦を19で割った余りを求める。?
(2)225−(1)×11を求める。?
(3)(2)が51以上の場合、51未満になるまで30を引く。?
(4)(3)が48以下の場合はそのまま。
(3)が48より大きい場合は(3)−1。
?
(5)西暦年+西暦年÷4(小数切り捨て)+(4)+1=???+1=?
(6)(5)を7で割った余りを求める。?
(7)(4)+7−(6)を求める?
(8)(7)が31以下なら、そのまま3月の日付。
(7)が32以上なら、(7)−31で4月の日付に。
?(日)

計算あってるよね。。。
2006年5月7日:Fさんの指摘により、計算方法を一部訂正しました。計算結果はあっていましたが、計算方法の(2)のところ、「255-…」となっていたのを「225-」に修正しています。