ツェラーの公式
最終更新日時:2007-07-12 16:56:54
その他のめも
その他のめも
ツェラーの公式(Zeller's congruence)を使うと、年月日からその日が何曜日であるかを算出することができます。
W = (year + [year / 4] - [year / 100] + [year / 400] + [(13 * month + 8) / 5] + day) % 7
year:年。ただし、1月、2月はそれぞれ前年とする
month:月。ただし、1月、2月はそれぞれ13月、14月とする
day:日
※「%」は剰余演算子
※[ n ]はガウス記号。nを超えない最大の整数をとる
結果は、0~6が返り、それぞれ0=日曜、1=火曜,,,6=土曜となります。
なお、この公式は西暦1582年10月15日金曜日(グレゴリオ暦施行日)以降で有効です。
例えばPerlで書くと以下のようになります。
if ($month < 3) { $year --; $month += 12; } $w = ($year + int($year / 4) - int($year / 100) + int($year / 400) + int((13 * $month + 8) / 5) + $day ) % 7;