ツェラーの合同式計算機
2026年7月25日は土曜日です。ツェラーの合同式で25、20、26、6、5、−40を足すと42になり、7で割った余り0が土曜日を表します。各手順が表示されるので、手計算で確かめられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 日付
- 2026-07-25
- 年
- 2,026
- 月
- 7
- 日
- 25
- 曜日
- 6
ツェラーの合同式計算機は、1つのグレゴリオISO暦日を、古典的な合同算術式を実行し各中間項を示しながら曜日名に変換します。日付をYYYY-MM-DDで入力すると、うるう年の2月規則を含む暦上の実在を検証し、1月・2月のツェラー月シフトを適用し、世紀と世紀内年の変数K・Jを組み立て、床関数項を評価し、和を7で剰余し、hを土曜起点の名称とISO曜日番号に写像します。暦アルゴリズムを学ぶ学生、例題を準備する教師、単体テストを書く開発者は、ブラックボックスのDateライブラリではなく同じ透明な経路を必要とします。
ツェラーの合同式が計算することと手順が重要な理由
ツェラーの合同式は、年・月・日のグレゴリオ三つ組を、暦表を参照せず曜日インデックスに写像する閉じた合同式です。ここで用いる一般的なグレゴリオ形では、月内日をq、月は3月を3・2月を前年の14とするように再番号付けし、Kは世紀内の年、Jは年を100で割った床のゼロ起点世紀です。
式は h = (q + floor((13m+1)/5) + K + floor(K/4) + floor(J/4) − 2J) mod 7 です。得られるhは土曜起点:0が土曜、1が日曜、2が月曜、…、6が金曜です。この規約はISO-8601の曜日番号と異なるため、本ツールはhを月曜=1〜日曜=7と日曜起点0〜6にも変換します。
各床関数項と剰余前の生の和を示すのが教育的要点で、学習者は ⌊13(m+1)/5⌋ を手計算し公開手順と一致すると主張できます。授業シート、アルゴリズム教科書、面接ドリルはすべてその透明性に依存します。検査経路は実在しない暦日も拒否します。
ツェラー式は真正なグレゴリオ日を仮定するため、2023-02-29を与えると存在しない日の曜日を捏造してしまうからです。
実務上のヒント、限界、関連検索
自由文ではなく厳密なISO文字列を送ってください。パーサは月名、スラッシュ、日先行の欧州順を受け付けません。教えるときは 2026-07-25 のような年中盤と1月例を対にし、手順内の年デクリメントと月+12シフトを見せます。
年は公開の1〜9999帯に収め、世紀計算を姉妹日付上限と一貫させます。本ランディングはツェラーの合同式計算機、曜日アルゴリズム手順、合同暦式の検索向けであり、ユリウスからグレゴリオへの歴史変換器でも営業日カウンタでも、算術を隠すブラックボックス曜日ツールでもありません。中間値不要ならより単純な曜日計算機を、教育目標が合同そのものなら本能力を選んでください。
活用例
合同算術の授業用例題
教師が日付を映し、steps配列の各ツェラー床項を辿り、提出前に生徒がhと曜日名を検証できるようにします。
アルゴリズム文書と面接準備
候補者が手書きの合同を、言語のDateライブラリに頼らず公開のq・m・K・J・生の和・hと比較します。
よくある質問
ツェラーの合同式とは何ですか?
日、再番号付けした月、世紀内年K、世紀Jから、暦表を見ずにグレゴリオ日付の曜日を求める合同算術式です。
結果のhは何を意味しますか?
hはツェラーの曜日インデックス:0=土曜、1=日曜、2=月曜、…、6=金曜です。ツールはhをISO曜日番号(月曜=1…日曜=7)にも写像します。
なぜ1月が月13になるのですか?
ツェラーは1月と2月を前年の月13・14として扱い、式の月項を3月から2月まで連続させます。
2023-02-29 ではどうなりますか?
その日は有効なグレゴリオ日付ではありません(2023はうるう年でない)。
計算結果を手計算で確かめられますか?
確かめられます。途中の値がすべて表示されます。2026年7月25日なら、25、20、26、6、5、−40の合計が42で、42を7で割った余りが0なので土曜日です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/zeller-weekday \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/zeller-weekday", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/zeller-weekday",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/zeller-weekday", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/zeller-weekday", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"date": "2026-07-25"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.zeller_weekday",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
year_min | 1 |
year_max | 9999 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無効な文字列、不可能な月、非うるうの2月29日は黙って誤答せず、明確な invalid_input を返します。経路は純決定的整数演算(ネットワークなし・乱数シードなし・壁時計Dateなし)なので、無料のブラウザ実行器と前払いAPIは呼び出すたびに同じJSONを返します。
APIの呼び出し方と返却内容
年は1〜9999 inclusive。日はその月に、先発グレゴリオうるう規則の下で存在しなければなりません(2月は年が4で割り切れ、かつ世紀年は400で割り切れるときだけ29日)。必須文字列フィールド date(別名 iso_date、value、day)を厳密にYYYY-MM-DD(年4桁・月日2桁)で含むJSON本体を送ります。成功時は正規日付・年・月・日をエコーし、day_name と day_name_short に英語曜日ラベルを、iso_weekday・day_of_week・day_number にISOの月曜=1〜日曜=7を、weekday_0_sunday に日曜起点インデックスを設定し、生のツェラー中間値 zeller_h・zeller_q・zeller_m・zeller_Y・zeller_K・zeller_J と formula・h_meaning・leap_year・message、1–2月シフト・各床項・生の和・最終名写像を辿る順序付き steps 配列を公開します。欠落フィールド、非文字列、形式不正、範囲外年、不可能な月日は invalid_input を返し課金されません。料金は成功リクエストあたり定額 $0.002、単位 item、限界単価ゼロです。
実務上のヒント、限界、関連検索
既知の土曜や月曜を印刷暦と照合し、zeller_h と iso_weekday が文書化写像と一致することを確認します。invalid_input を返す失敗タスクは前払い残高を消費せず、学習者が意図的に 2023-02-29 を試す探索スクリプトを安く保てます。
連携の活用例
学生の暦実装向け単体テスト
既知のツェラー中間値と無効暦日の拒否を、コーディングかたの期待値として決定的fixtureにします。
技術的な質問
ツェラーの合同式計算機は無料ですか?
ブラウザツールは無料でローカル実行です。APIは成功1件あたり $0.002 のKIT前払い残高を使い、失敗タスクは課金されません。