
「自分が何曜日生まれか知りたい」「あの日は何曜日だったか確認したい」──そんなとき、下の計算ツールに日付を入力するだけで答えがわかります。
ツールの仕組みには、ドイツの数学者クリスティアン・ツェラーが1882年に考案した「ツェラーの公式」が使われています。原理を知っておくと、電卓なしでも頭の中で曜日を求める"暗算の技"として活用できます。
曜日計算ツール
ブラウザ内だけで処理しているため、入力した日付が外部に送信されることはありません。
1873年1月1日(日本でグレゴリオ暦を導入した日)以降の日付に対応しています。
ツェラーの公式とは
ツェラーの公式(Zeller's congruence)は、年・月・日から曜日を整数演算だけで求める公式で、グレゴリオ暦の場合は次の式になります。
h = ( q + ⌊13(m+1)/5⌋ + K + ⌊K/4⌋ + ⌊J/4⌋ + 5J ) mod 7
各変数の意味は以下のとおりです。
← 横にスクロールできます →
| 変数 | 意味 |
|---|---|
| q | 日(1〜31) |
| m | 月(3〜14。1月=13、2月=14として前年に繰り込む) |
| K | 西暦年の下2桁(年%100) |
| J | 西暦年の上2桁(年÷100 の整数部) |
| ⌊…⌋ | ガウス記号(小数点以下切り捨て) |
| mod 7 | 7で割った余り |
結果 h の対応は次のようになっています。
← 横にスクロールできます →
| h値 | 曜日 |
|---|---|
| 0 | 土曜日 |
| 1 | 日曜日 |
| 2 | 月曜日 |
| 3 | 火曜日 |
| 4 | 水曜日 |
| 5 | 木曜日 |
| 6 | 金曜日 |
ステップ別に計算してみよう
例として 2000年1月1日(答えは土曜日)を計算します。
前処理:1月は m=13、年を1999年として扱います。
→ q=1、m=13、K=99(1999%100)、J=19(1999÷100)
STEP 1 ⌊13(m+1)/5⌋ = ⌊13×14/5⌋ = ⌊36.4⌋ = 36
STEP 2 ⌊K/4⌋ = ⌊99/4⌋ = ⌊24.75⌋ = 24
STEP 3 ⌊J/4⌋ = ⌊19/4⌋ = ⌊4.75⌋ = 4
STEP 4 5J = 5×19 = 95
STEP 5 合計
h = ( 1 + 36 + 99 + 24 + 4 + 95 ) mod 7
= 259 mod 7
= 0(259÷7=37 余り0)
h=0 → 土曜日 ✓
なぜ1月・2月を「前の年の13・14月」と数えるのか
月によって日数が違うため、ある月の1日は「前月の1日から何日後か」が月ごとにバラバラです。この補正をシンプルにするために、ツェラーは年をまたぐ計算を避ける工夫として1月・2月を「前年の13月・14月」と定義しました。
こうすることで「3月始まりの周期」が揃い、月の補正値(⌊13(m+1)/5⌋の部分)が1つの式できれいに求められるようになります。
うるう年の2月29日も、この定義のおかげで自動的に正しく処理されます。
よくある質問
Q. 旧暦(和暦)の日付は調べられますか?
A. ツールはグレゴリオ暦(新暦)専用です。旧暦を新暦に換算してからご利用ください。日本では1873年(明治6年)1月1日から新暦が採用されており、それ以前の日付は対応外となっています。
Q. ユリウス暦にも対応していますか?
A. ツェラーの公式にはグレゴリオ暦版とユリウス暦版の2種類があります。本ツールはグレゴリオ暦版のみに対応しています。
Q. 公式の精度はどの程度ですか?
A. 数学的に証明された公式のため、グレゴリオ暦が適用される範囲では誤差なく計算できます。うるう年・閏秒は考慮不要で、日付さえ正しければ正確な曜日が得られます。
Q. 電卓なしで暗算できますか?
A. 少し練習が必要ですが、繰り返しやると頭の中で計算できるようになります。「誕生日を聞いて曜日を当てる」のは昔から知的遊戯として親しまれているテクニックです。
まとめ
ツェラーの公式は、年・月・日の3つの数字を7で割り算するだけで曜日を求める、シンプルで美しいアルゴリズムです。手を動かして計算してみると、数学が日常の暦にうまく活用されていることが実感できます。
生年月日や記念日の曜日を調べるときは、上のツールをご活用ください。日付に関連したほかのツールとして、生年月日から年齢・和暦・学年が一覧でわかる年齢早見表ツールもあわせてどうぞ。