曜日を調べたい日付を選んでください(キーボードからの手入力もできます)。何曜日かに加えて、その年の第何日か(年内通算日数)・その年の第何回目のその曜日かも同時に計算します。
このページでできること
- 日付を入れるだけで、その日が何曜日かがその場でわかります(西暦1年から9999年まで)
- 「その年の第何日か(年内通算日数)」と「大みそかまでの残り日数」も同時にわかります
- 「その年の第何回目のその曜日か」(例えば年間52回ある土曜日のうちの第27回目、など)もわかります
- 生まれた日の曜日・歴史上の出来事の曜日・未来の記念日の曜日など、手元にカレンダーがない日付の曜日調べに使えます
- 曜日を計算で求めるしくみ(ツェラーの公式)のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
自分や家族の生まれた日が何曜日だったかは、意外と知らないものです。母子手帳や出生届には日付は書いてあっても、曜日までは書いてありません。
タイやミャンマーには「生まれた曜日」を大切にする文化があり(タイでは曜日ごとに色や仏像が決まっています)、海外の友人に生まれた曜日を聞かれて調べる人も多い、一番定番の使い方です。
1945年8月15日(終戦の日)は水曜日、1964年10月10日(東京オリンピック開会式)は土曜日、2011年3月11日(東日本大震災)は金曜日でした。「その日が何曜日だったか」がわかると、当時の人々の一日(平日だったのか、休日だったのか)が立体的に想像できます。
ただし1582年10月14日以前の史料に書かれた日付は、当時のユリウス暦で記録されていることが多く、この計算機の結果(グレゴリオ暦をさかのぼって当てはめた曜日)とはずれる場合があります。
結婚記念日や創立記念日、家族の誕生日が、来年・5年後・10年後に何曜日になるかを前もって調べておくと、「ちょうど土曜日に当たる年に盛大にお祝いする」といった計画が立てられます。
結婚式場やレストランの予約・料金も曜日で大きく変わるため、遠い将来の日付の曜日を知りたい場面は意外と多くあります。
銀行の窓口や役所の手続きは平日しか行われないため、「この領収書の日付は本当に営業日だったのか」のように、過去の書類の日付が平日か週末かを確かめたい場面があります。
日記や家計簿の記録の整理、思い出の日(初めて会った日・引っ越した日)の曜日の確認にも使えます。ただし祝日はこの計算機ではわからないので、祝日を含めた営業日の判定にはカレンダーの確認も必要です。
結婚式やお葬式の日取りで話題になる「大安」「仏滅」は六曜と呼ばれるもので、6種類が順にくり返す、曜日(七曜)とはまったく別のしくみです。このページで計算できるのは月〜日の曜日だけで、六曜はわかりません。
一方、式場や斎場の混み具合・料金は、実際には六曜よりも「土日か平日か」で決まることが多く、日取りの計画でまず調べる価値があるのはむしろ曜日のほうです。
式
用語・記号の解説
記号
| \(h\) | エイチ | ツェラーの公式の答えになる曜日番号。0 = 土曜日、1 = 日曜日、2 = 月曜日、…、6 = 金曜日という対応です。 |
| \(q\) | キュー | 日(「7月4日」の4の部分)。ツェラーの公式では、日をこの文字で表すのが慣例です。 |
| \(m\) | エム | 月。ただし1月と2月は「前年の13月・14月」として \(m = 13\)、\(m = 14\) で計算します。英語の month の頭文字です。 |
| \(K\) | ケー(大文字) | 西暦の下2桁。2026年なら \(K = 26\) です(1月・2月は前年扱いになる点に注意)。 |
| \(J\) | ジェー(大文字) | 西暦の上2桁(世紀の部分)。2026年なら \(J = 20\) です。 |
| \(\lfloor x \rfloor\) | フロア・エックス ゆかかんすう(床関数) | \(x\) を超えない最大の整数。0以上の数では小数点以下の切り捨てと同じで、\(\lfloor 20.8 \rfloor = 20\) です(この公式で切り捨てる数はすべて0以上です)。日本の高校ではガウス記号 \([x]\) と書くこともあります。 |
| \(\bmod\) | モッド | 割り算の余りを表す記号。\(21 \bmod 7 = 0\)(21を7で割った余りは0)のように使います。 |
| \(d\) | ディー | 年内通算日数。その年の1月1日から数えて何日目かを表します。2026年7月4日なら \(d = 185\) です。 |
| \(n\) | エヌ | その年の第何回目のその曜日かを表す数。2026年7月4日は、この年の第27回目の土曜日です。 |
用語
| ツェラーの公式 | ツェラーのこうしき | 日付から曜日を直接計算する公式。19世紀ドイツの数学者クリスティアン・ツェラーが考案しました。カレンダーを1枚も見ずに、掛け算と「7で割った余り」だけで曜日が求められます。 |
| グレゴリオ暦 | グレゴリオれき | 現在、世界中で使われている暦。1582年10月15日にローマ教皇グレゴリウス13世が導入しました。日本では明治6年(1873年)から使われています。 |
| プロレプティックグレゴリオ暦 | プロレプティックグレゴリオれき | グレゴリオ暦のルールを、導入日(1582年10月15日)より前の日付にもさかのぼって当てはめた暦。日本語では「先発グレゴリオ暦」とも呼ばれます。国際規格のISO 8601や、この計算機を含む多くのコンピュータの日付処理が採用しています。実際の歴史上の暦(ユリウス暦など)とは日付や曜日がずれる場合があります。 |
| ユリウス暦 | ユリウスれき | グレゴリオ暦の前に使われていた暦。紀元前45年にユリウス・カエサルが定めました。4年に1回必ずうるう年とするルールだったため、実際の季節と少しずつずれてしまい、そのずれを直すためにグレゴリオ暦へ置き換えられました。 |
| うるう年 | うるうどし | 2月29日がある年(1年が366日)。原則4年に1回ですが、100で割り切れる年は平年、400で割り切れる年はうるう年です(2000年はうるう年、1900年・2100年は平年)。 |
| 年内通算日数 | ねんないつうさんにっすう | その年の1月1日から数えて何日目かを表す数(「通日」とも呼ばれます)。例えば3月1日は、平年なら第60日、うるう年なら第61日です。 |
| 曜日の周期 | ようびのしゅうき | 曜日は7日ごとにひと回りします。7の倍数の日数だけ離れた2つの日付は、必ず同じ曜日になります。 |
| 六曜 | ろくよう | 先勝・友引・先負・仏滅・大安・赤口の6種類がこの順にくり返す、こよみの注記(暦注)。曜日(月〜日の七曜)とは別のもので、旧暦の月と日から決まります。このページで計算できるのは曜日(七曜)です。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
つまずいたら、この表の内容に戻って復習するのが近道です。
| 余りのある割り算(小学3年) |
|
| 暦のしくみ(小学2〜3年) |
|
| 2桁の掛け算と切り捨て(小学3〜4年) |
|
| 正の数・負の数(中学1年) |
|
Excelで計算する方法
| 調べたい日付 | 2026/7/4 |
| 曜日 | =TEXT(B1,"aaaa") |
| 調べたい日付 | 2026/7/4 |
| 曜日番号(1=日曜〜7=土曜) | =WEEKDAY(B1) |
| 調べたい日付 | 2026/7/4 |
| 年内通算日数 | =B1-DATE(YEAR(B1),1,1)+1 |
| その年の日数 | =DATE(YEAR(B1),12,31)-DATE(YEAR(B1),1,1)+1 |
| 残り日数 | =B3-B2 |
| 調べたい日付 | 2026/7/4 |
| 年内通算日数 | =B1-DATE(YEAR(B1),1,1)+1 |
| 第n回目 | =INT((B2-1)/7)+1 |
3つ目・4つ目の表の答えは、年内通算日数が185、その年の日数が365、残り日数が180、第n回目が27です。引き算の結果が「1900/7/3」のような日付で表示されてしまったら、セルの表示形式を「標準」に変えてください。
なお、Excelの日付は1900年1月1日以降にしか対応していません。それより前の日付は、このページの計算機かPythonをお使いください。
Googleスプレッドシートで計算する方法
| 調べたい日付 | 2026/7/4 |
| 曜日 | =TEXT(B1,"dddd") |
| 調べたい日付 | 2026/7/4 |
| 曜日番号(1=日曜〜7=土曜) | =WEEKDAY(B1) |
| 調べたい日付 | 2026/7/4 |
| 年内通算日数 | =B1-DATE(YEAR(B1),1,1)+1 |
| その年の日数 | =DATE(YEAR(B1),12,31)-DATE(YEAR(B1),1,1)+1 |
| 残り日数 | =B3-B2 |
| 調べたい日付 | 2026/7/4 |
| 年内通算日数 | =B1-DATE(YEAR(B1),1,1)+1 |
| 第n回目 | =INT((B2-1)/7)+1 |
曜日を文字にする関数だけExcelと書き方が違い、Googleスプレッドシートでは =TEXT(B1,"dddd") と書きます(スプレッドシートの言語設定が日本語なら「土曜日」のように表示されます)。引き算の結果が日付で表示されたら、メニューの「表示形式 → 数字 → 数値」で数字に変えられます。
Pythonで計算する方法
import datetime
year, month, day = 2026, 7, 4 # 調べたい日付
# --- 方法1: 標準ライブラリdatetimeで求める ---
target_date = datetime.date(year, month, day)
weekday_names = ['月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日', '日曜日']
weekday_name = weekday_names[target_date.weekday()]
print(f"{year}年{month}月{day}日は{weekday_name}")
day_of_year = target_date.timetuple().tm_yday # 年内通算日数
days_in_year = datetime.date(year, 12, 31).timetuple().tm_yday # その年の日数
print(f"その年の第{day_of_year}日({days_in_year}日中)・残り{days_in_year - day_of_year}日")
nth = (day_of_year - 1) // 7 + 1 # その年の第n回目の曜日
print(f"その年の第{nth}回目の{weekday_name}")
# --- 方法2: ツェラーの公式で求める ---
q, m, y = day, month, year
if m <= 2: # 1月・2月は前年の13月・14月として扱う
m += 12
y -= 1
K, J = y % 100, y // 100
h = (q + 13 * (m + 1) // 5 + K + K // 4 + J // 4 - 2 * J) % 7
zeller_names = ['土曜日', '日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日']
print(f"ツェラーの公式でも{zeller_names[h]}")
数式記述言語(LaTeX等)での書き方(コピペ可)
h = (q + ⌊13(m + 1)/5⌋ + K + ⌊K/4⌋ + ⌊J/4⌋ − 2J) mod 7
h = \left( q + \left\lfloor \frac{13(m+1)}{5} \right\rfloor + K + \left\lfloor \frac{K}{4} \right\rfloor + \left\lfloor \frac{J}{4} \right\rfloor - 2J \right) \bmod 7
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>h</mi><mo>=</mo>
<mrow>
<mo>(</mo>
<mi>q</mi><mo>+</mo>
<mrow><mo>⌊</mo><mfrac><mrow><mn>13</mn><mo>(</mo><mi>m</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mn>5</mn></mfrac><mo>⌋</mo></mrow>
<mo>+</mo><mi>K</mi>
<mo>+</mo><mrow><mo>⌊</mo><mfrac><mi>K</mi><mn>4</mn></mfrac><mo>⌋</mo></mrow>
<mo>+</mo><mrow><mo>⌊</mo><mfrac><mi>J</mi><mn>4</mn></mfrac><mo>⌋</mo></mrow>
<mo>−</mo><mn>2</mn><mo>⁢</mo><mi>J</mi>
<mo>)</mo>
</mrow>
<mspace width="0.3em"/><mo>mod</mo><mspace width="0.3em"/><mn>7</mn>
</mrow>
</math>
h = (q + floor(13(m + 1)/5) + K + floor(K/4) + floor(J/4) - 2J) mod 7
h = Mod[q + Floor[13 (m + 1)/5] + K + Floor[K/4] + Floor[J/4] - 2 J, 7]
h := (q + floor(13*(m + 1)/5) + K + floor(K/4) + floor(J/4) - 2*J) mod 7;
h = mod(q + floor(13*(m + 1)/5) + K + floor(K/4) + floor(J/4) - 2*J, 7);
h = (q + ⌊13(m + 1)/5⌋ + K + ⌊K/4⌋ + ⌊J/4⌋ - 2J) mod 7
n = ⌊(d − 1)/7⌋ + 1
n = \left\lfloor \frac{d - 1}{7} \right\rfloor + 1
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>n</mi><mo>=</mo>
<mrow><mo>⌊</mo><mfrac><mrow><mi>d</mi><mo>−</mo><mn>1</mn></mrow><mn>7</mn></mfrac><mo>⌋</mo></mrow>
<mo>+</mo><mn>1</mn>
</mrow>
</math>
n = floor((d - 1)/7) + 1
n = Floor[(d - 1)/7] + 1
n := floor((d - 1)/7) + 1;
n = floor((d - 1)/7) + 1;
n = ⌊(d - 1)/7⌋ + 1
365 = 7 × 52 + 1, 366 = 7 × 52 + 2
365 = 7 \times 52 + 1, \quad 366 = 7 \times 52 + 2
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mn>365</mn><mo>=</mo>
<mn>7</mn><mo>×</mo><mn>52</mn><mo>+</mo><mn>1</mn>
<mo>,</mo><mspace width="0.7em"/>
<mn>366</mn><mo>=</mo>
<mn>7</mn><mo>×</mo><mn>52</mn><mo>+</mo><mn>2</mn>
</mrow>
</math>
365 = 7 xx 52 + 1, 366 = 7 xx 52 + 2
QuotientRemainder[365, 7]
iquo(365, 7); irem(365, 7);
q = floor(365/7); r = mod(365, 7);
365 = 7 × 52 + 1
ChatGPT に聞いて計算してもらう方法
あなたは日付計算アシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 2026年7月4日について、次を求めてください。 1. 何曜日か 2. その年の第何日か(年内通算日数)と、大みそかまでの残り日数 3. その年の第何回目のその曜日か(その曜日はその年に全部で何回あるかも) 計算に使ったコードと、実行結果の数値を示してください。
計算ドリル(演習問題)
このページの「7で割った余りで曜日を求める」考え方を、自分の手で使えるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
