元日は何曜日?1月1日の曜日計算
この元日の曜日計算ツールは、明示されたISO日付から4桁の年を取り出し、その年の1月1日が何曜日かを示します。結果は入力された日付とグレゴリオ暦の規則だけから求めるため、現在の日付、サーバーの時計、ブラウザーのタイムゾーン、外部のカレンダーサービスには左右されません。曜日名に加えて、ISO曜日番号と計算対象となった正確な1月1日の日付も返します。
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
任意の日付から対象の年を指定できます
YYYY-MM-DD形式の明示的なISO日付を入力してください。計算ツールは、各月の日数やうるう年における2月の特別な規則を含め、日付全体が正しいかを確認してから、その年の部分を計算対象として使用します。たとえば2026年8月の日付を入力した場合、8月のその日が何曜日かを調べるのではなく、2026年1月1日の曜日を返します。レコード、期限、請求書、イベントなどにすでに日付があり、同じ年の始まりに関する情報が必要なときに便利です。完全で有効な日付を必須にすることで、地域によって月日が逆になる03/04/26のような曖昧な入力も防げます。対象年は0001年から9999年までで、全範囲に先発グレゴリオ暦を一貫して適用します。出力には受理した入力、抽出した年、正規化した元日の日付が含まれるため、回答の根拠を明確に確認できます。
決定的な曜日計算の仕組み
指定された年より前に完了したすべての年の日数を数えます。平年は365日で、うるう年はグレゴリオ暦の規則に従って1日多くなります。4で割り切れる年は原則としてうるう年ですが、100で割り切れる年は平年となり、さらに400で割り切れる年は再びうるう年となります。合計を7で割った余りから、月曜日をISO曜日1、日曜日をISO曜日7として1月1日の曜日を直接求めます。システム時計、地域設定、タイムゾーンデータベース、乱数、ネットワーク通信、JavaScriptのDateオブジェクトは使用しません。そのため、同じ有効な入力は、API、別の国のブラウザー、異なるタイムゾーンを設定したテスト環境のいずれでも同じJSON結果になります。回答には読みやすい曜日名とISO番号の両方が含まれ、画面表示だけでなく、並べ替え、条件分岐、既存システムとの連携にも利用できます。
計画作成や自動処理に活用できます
1月1日の曜日が分かると、その年と繰り返しの週間予定との並び方を把握できます。年間予定表の生成、報告期間の設定、保存資料の確認、勤務表テンプレートの準備、カレンダーに関する照会などに役立ちます。自動処理では、レコードに関連付けられた日付を送信し、返されたISO曜日番号によってレイアウトや処理経路を選択できます。通常の月曜日から金曜日までを勤務日とする場合、結果が6または7なら元日は週末、1から5なら平日です。ただし、この機能は暦上の事実を返すものであり、組織ごとの勤務日や祝日の定義を推測するものではありません。歴史上別の暦が使われていた地域や年代についても、一貫性を保つためグレゴリオ暦の規則を遡って適用します。ブラウザーでは無料で実行でき、APIリクエストは$0.002です。結果が入力だけで決まるため、再現可能なビルド、キャッシュした報告書、回帰テスト、監査可能なデータ変換にも適しています。
活用例
年間予定表を作成する
年間カレンダーの残りの週を生成する前に、1月1日を配置する正しい曜日の列を選べます。
年の始まりを分類する
ISO曜日番号を使い、元日が一般的な勤務日に始まるか週末に始まるかを判定できます。
保存済みカレンダーを確認する
計算した1月1日の曜日を、統一したグレゴリオ暦の規則で歴史資料や取り込んだカレンダーと比較できます。
よくある質問
どの形式の日付を送ればよいですか?
2026-08-07のように、YYYY-MM-DD形式の完全なISO日付を送信してください。
月や日は回答に影響しますか?
有効な日付である必要がありますが、1月1日の計算にはその日付の年だけを使用します。
タイムゾーンは結果に影響しますか?
影響しません。グレゴリオ暦の整数演算を使用し、入力を現地時刻へ変換することはありません。
うるう年はどのように扱いますか?
4で割り切れる年をうるう年とし、100で割り切れる年は除外しますが、400で割り切れる年はうるう年とします。
料金はいくらですか?
ブラウザーでは無料で実行できます。APIリクエスト1回の料金は$0.002です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/weekday-of-new-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-08-07"}'const res = await fetch("https://api.kit.forhosting.com/date/weekday-of-new-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-08-07"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/weekday-of-new-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-08-07"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/weekday-of-new-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-08-07"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-08-07"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/weekday-of-new-year", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"date": "2026-08-07"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.weekday_of_new_year",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |