年間通算日を日付に
2024年はうるう年で366日あるため、通算日61日目は3月1日です。年と日番号を入れると、日付、うるう年かどうか、12月31日までの残り日数が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 年
- 2,024
- 年間通算日
- 61
- 日付
- 2024-03-01
- 月
- 3
- 日
- 1
- その年の日数
- 366
年間通算日の序数は、1月1日を1として12月31日の365または366まで数える、その年の中での暦日の位置です。多くのパイプライン、科学ノート、年次トラッカーは完全な民事日付の代わりにその序数を保存し、利用者への報告、ISOタイムスタンプの書き込み、年-月-日キーの表結合のときに逆写像が必要になります。この変換器はグレゴリオ年と通算日の整数を受け取り、民事のうるう年規則を適用して2月29日がうるう年にだけ存在するようにし、対応する暦日と月・日成分、うるうフラグ、年の長さ、12月31日までの残り日数を返します。その年の合法範囲外の序数—たとえば平年の366日—は翌年へ繰り越したり幽霊日付を作ったりせず、明確な検証エラーで失敗します。
通算日の序数が暦日になる仕組み
実用範囲の1から9999のグレゴリオ年と、1月1日を1として数える通算日序数の2整数から始めます。まず世界共通の民事規則でうるう年かを決めます。4で割り切れる年はうるうですが、世紀年はさらに400で割り切れるときだけうるうです。
この規則で2024年と2000年は366日のうるう年、2023年と1900年は365日の平年になります。年の長さが分かれば、1未満や年長を超える序数を拒否し、平年に366日が現れず、0日も受理しません。序数が合法なら、その年の12か月の長さを歩き、各完全月を引いて残りが次の月に収まるまで進め、月番号と残りの日が民事の月と日になります。
年4桁・月日2桁の厳密ISO文字列に整形し、どのクライアントも同じ日付文を見ます。古典的確認は、序数1が1月1日、序数61がうるう年では3月1日・平年では3月2日(逆算ツールとの比較)、最終序数が12月31日です。
通算日→日付変換が現場で現れる場面
通算日番号でバッチを刻印する運用チームでも、チケット、請求書、非技術の関係者向けダッシュボードには民事日付が要ります。気候・農業ノートはしばしば1〜366軸の多年系列を蓄え、後で年-月-日として読む報告のために3月1日や収穫窓の日付を具体化します。進捗分数から年次目標を追うプロジェクト管理者は、レビュー日程のために日番号を暦日へ戻します。
タイムゾーンライブラリを避けたいソフトでも、Unixエポックではなく民事日付で定義されたコンプライアンス暦には、序数からISOへの純逆写像が必要です。後に2日付間の営業日数、生年月日から年齢、完全ユリウス通日、ISO 8601の週番号が必要なら、この通算日→日付ページを過負荷にせず別の検索意図とランディングとして扱ってください。
活用例
序数系列から民事レポートへ
保存された通算日ラベルをダッシュボード・請求書・利害関係者レポート用のISO YYYY-MM-DDへ変換します。
科学・季節の具体化
研究軸1–366を、うるう年2月の正しい長さで3月1日や収穫日へ戻して写像します。
よくある質問
うるう年に対応しますか?
はい。 グレゴリオのうるう規則(4で割り切れる、世紀は400で割り切れる)を適用します。366日はうるう年のみ受理し、年中の序数写像で2月は29日になります。
通算日計算機と同じですか?
いいえ。 あちらはISO日付を序数にします。本変換器は逆で、年と序数から暦日へ。検索意図とスラッグが異なります。
平年に366日目を入れるとどうなりますか?
年の日数を示すメッセージとともに受け付けません。たとえば2023年なら365日です。翌年に繰り越すことはなく、0日目も受け付けません。
その年の残り日数はどう分かりますか?
結果には日付と並んで、12月31日までの残り日数が表示されます。たとえば2024年の61日目なら、年末まで305日残っています。
何年から何年まで変換できますか?
1年から9999年までのグレゴリオ暦の年を変換できます。4で割り切れる年はうるう年ですが、世紀の年は400でも割り切れる場合だけうるう年になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/date-from-dayofyear \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2024,"day_of_year":61}'const res = await fetch("https://api.kit.forhosting.com/date/date-from-dayofyear", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"year": 2024,
"day_of_year": 61
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/date-from-dayofyear",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"year": 2024,
"day_of_year": 61
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/date-from-dayofyear", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"year":2024,"day_of_year":61}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"year":2024,"day_of_year":61}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/date-from-dayofyear", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"year": 2024,
"day_of_year": 61
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.date_from_dayofyear",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無料のブラウザツールと有料APIは一つの純同型関数を共有するため、授業デモと自動パイプラインが同じ年と序数の組で食い違うことはありません。
送るものともらうもの
整数でもその年の日数を超える序数、例えば2023年の366は、年の長さを名指すメッセージで失敗し、クライアントが推測せず修正できます。宿題や素早い健全性確認には無料ブラウザフォームを、序数系列や倉庫パーティションラベル、回帰フィクスチャの一括変換には同じ契約をスクリプトから呼び出します。すでにISO日付があり序数が欲しい場合は、この逆変換器を過負荷にせず別の通算日計算機を使ってください。必須の数値フィールドを2つ送ります。yearは1から9999の整数、day_of_yearはうるう状態に応じて1から365または366の整数です。欠落、非数値文字列、NaN、Infinity、小数はinvalid_inputで失敗し課金されません。成功時はyearとday_of_yearをエコーし、正規化ISO暦文字列のdate、数値のmonthとday、真偽のis_leap_year、365または366のdays_in_year、その年の最終日までのremaining_days、月歩きとうるう規則を記す短いformula文字列を返します。成功したAPI呼び出しの料金は公開ベースの$0.002/項目で、検証失敗はプリペイド残高を消費しません。
通算日→日付変換が現場で現れる場面
本機能は純parseエンジンのため、API料金は成功項目ごとに公開ベースの$0.002、検証失敗は残高を消費しません。
連携の活用例
バッチパーティションの解読
倉庫・ログのパーティション序数を安定ISO日付にし、その年の長さを超えると明確なinvalid_inputにします。
技術的な質問
通算日→日付変換に必要な入力は?
2つの整数:year(1–9999)とday_of_year(平年は1〜365、うるう年は1〜366)。両フィールド必須です。
平年でday_of_yearが366の場合は?
invalid_inputで失敗し課金されません。序数がその年の日数を超えると説明するエラーになります。
料金は?
ブラウザツールは無料でローカル実行です。APIは成功項目ごとに$0.002のプリペイドKIT残高を使い、不正入力は課金されません。