ツェラーの公式

出典: フリー百科事典『ウィキペディア(Wikipedia)』

ツェラーの公式(Zeller's congruence)は、西暦からその日が何曜日であるかを算出する公式である。

まず、求めたい日の年の下2桁を削ったもの(年/100の小数点以下切り捨て)をJ、年の下2桁(年 mod 100)をK、月をm、日をq、曜日をhとする。ただし求めたい日の月が1月、2月の場合はそれぞれ前年の13月、14月とする(例えば、2007年1月1日なら2006年13月1日と考える)。

ユリウス暦の場合は、

h = \left(q + \left\lfloor \frac{(m + 1) 26}{10} \right\rfloor + K + \left\lfloor \frac{K}{4} \right\rfloor + 5 - J\right) \mod 7


グレゴリオ暦の場合は、

h = \left(q + \left\lfloor \frac{(m + 1) 26}{10} \right\rfloor + K + \left\lfloor \frac{K}{4} \right\rfloor + \left\lfloor \frac{J}{4} \right\rfloor - 2J\right) \mod 7

hが0なら土曜日、1なら日曜日、2なら月曜日、……、6なら金曜日である。

  • 註:\lfloor x \rfloorは、xを超えない(x以下)の最大の整数である。(→床関数


プログラミング言語においては、負の値に対する剰余演算の都合上、変形式が用いられる場合が多い。


[編集] 文献

[編集] 関連項目

キム・ピーク - 西暦3200年までの曜日を瞬時に答えることのできる、サヴァン症候群の患者。