指定した年の誕生日の曜日を計算
選んだ年の誕生日が何曜日になるかが分かります。1990年5月17日生まれの人の2030年の誕生日は金曜日です。うるう年もグレゴリオ暦の規則どおりに扱われ、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
誕生日曜日計算ツールでは、指定した年の誕生日が何曜日になるかを確認できます。元の生年月日を明示的なYYYY-MM-DD形式で入力し、対象年を指定してください。対象となる誕生日の日付、日本語の曜日名、ISO曜日番号が返されます。計算には固定されたグレゴリオ暦の算術だけを使い、端末の時計、タイムゾーン、地域設定には依存しません。そのため、同じ入力からは常に同じ結果が得られます。個人的な予定の確認にも、再現性が必要なソフトウェア処理にも安心してご利用いただけます。
生年月日と確認する年を入力してください
まず、1990-05-17のような完全なISO形式の生年月日を入力してください。4桁の出生年は元の日付が実在することの検証に使われ、月と日は毎年繰り返す誕生日として使われます。次に、1から9999までの範囲で確認したい暦年を指定してください。
結果には、曖昧さのない同じYYYY-MM-DD形式の対象日、日本語の曜日名、月曜日を1、日曜日を7とするISO曜日番号が含まれます。元の生年月日と対象年を分けることで、よくある混同を避けられます。選択した年が出生年と同じ場合を除き、質問しているのは生まれた日の曜日ではなく、指定した別の年に毎年の誕生日が何曜日になるかです。
入力は各月の日数を正しく反映した実在するグレゴリオ暦の日付でなければなりません。存在しない日付、不完全または曖昧な形式、対応範囲外の年は、自動補正せずにエラーとして扱います。この厳格な処理により結果を監査しやすくなり、形式の推測からもっともらしい誤答が生じることを防げます。
決定論的なグレゴリオ暦計算の仕組み
計算は範囲を限定した整数の暦算術で実行されます。現在の日付の参照、ネットワークサービスへの接続、乱数の利用、JavaScriptのDateオブジェクトの生成は行わず、サーバーのローカルタイムゾーンにも依存しません。元の生年月日を検証した後、その月日と指定年を組み合わせ、先発グレゴリオ暦に従って曜日を算出します。
したがって、対応範囲全体で現代の閏年規則が一貫して適用されます。4で割り切れる年は原則として閏年ですが、世紀の年は平年となり、400で割り切れる場合だけ再び閏年になります。UTCは日付をずらす要因ではなく、決定論的な解釈境界にすぎません。
ホストのタイムゾーンが変わっても前日や翌日に移るような時刻情報は作りません。ISO曜日番号は規則が明示されているため、ソフトウェア、並べ替え、カレンダー連携に便利です。日本語の曜日名は表示に適しています。
どちらも同じ計算済みの暦日を表すため、機械処理向けの番号を保存しながら、タイムゾーン誤差を招く追加変換なしで読みやすい曜日名を提示できます。
2月29日生まれを明確な規則で扱います
2月29日の生年月日は、平年にはその日付が存在しないため、明示的な方針が必要です。この機能では、指定年が閏年でない場合に無効な入力としてエラーを返します。法律、文化、個人の慣習によって扱いが異なるため、2月28日または3月1日に自動で移すことはありません。
どちらかを勝手に選ぶと、元の質問そのものが変わってしまいます。文字どおりの2月29日の曜日を調べる場合は閏年を選択してください。振替の誕生日を扱う場合は、ご自身の規則を先に決めたうえで別の日付計算をご利用ください。
それ以外の有効な月日の組み合わせでは、選択した各年に誕生日が1回存在します。返される結果は、招待状の計画、リマインダー、歴史的な比較、テスト用データ、一括データ補完などに利用できます。ただし、示すのは暦上の日付であり、年齢や法的資格ではありません。
元の出生年によって対象年を制限しないため、歴史上または仮定上の質問にも対応できます。
活用例
誕生日行事を計画する
行事の日程を決める前に、誕生日が平日と週末のどちらになるかをご確認いただけます。
信頼できる通知を作る
サーバーのタイムゾーンに依存せず、明示的な対象日とISO曜日を保存できます。
暦機能のテストを用意する
誕生日関連アプリのテスト向けに、再現可能な期待曜日を生成できます。
よくある質問
出生年は指定年の曜日に影響しますか?
出生年は元の日付の検証に使います。毎年の誕生日は、その月日と指定年を組み合わせて求めます。
タイムゾーンによって回答は変わりますか?
変わりません。 純粋なグレゴリオ暦算術を使い、日付境界を越える可能性があるローカル時刻やUTC時刻を生成しません。
どのような日付形式を利用できますか?
月日を先頭のゼロでそろえたYYYY-MM-DD形式の明示的なグレゴリオ暦日付をご利用ください。
自分が生まれた日の曜日を知るには?
生年月日を入力し、調べる年に生まれた年を指定してください。すると後の誕生日ではなく、生まれた日そのものの曜日が表示されます。
ISOの曜日番号とは何ですか?
月曜日を1、日曜日を7として曜日に番号をつけたものです。金曜日の誕生日なら5と表示され、並べ替えやカレンダーのソフトで扱うときに便利です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/birthday-weekday \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"birth_date":"1990-05-17","year":2030}'const res = await fetch("https://api.kit.forhosting.com/date/birthday-weekday", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"birth_date": "1990-05-17",
"year": 2030
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/birthday-weekday",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"birth_date": "1990-05-17",
"year": 2030
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/birthday-weekday", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"birth_date":"1990-05-17","year":2030}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"birth_date":"1990-05-17","year":2030}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/birthday-weekday", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"birth_date": "1990-05-17",
"year": 2030
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.birthday_weekday",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
2月29日生まれを明確な規則で扱います
APIリクエスト1回あたり$0.002で、異なる環境でも同じ出力を再現できます。ブラウザー版も同じ純粋な計算ロジックを使うため、画面上の確認結果とAPIの結果が一致します。
技術的な質問
APIリクエストの料金はいくらですか。
APIリクエスト1回の料金は$0.002です。外部サービスを必要としないため、ブラウザー上でも計算できます。
平年の2月29日生まれはどうなりますか。
その年には2月29日が存在しないため、invalid_inputを返します。振替日についての慣習は仮定しません。
どの曜日番号規則が返されますか。
iso_weekdayフィールドはISO方式で、月曜日が1、日曜日が7です。