通日計算機
2024年3月1日は年の61日目です。2024年はうるう年なので、平年なら60日目になります。日付を入れると、年の中での位置、年の日数、12月31日までの残り日数が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 日付
- 2024-03-01
- 年
- 2,024
- 月
- 3
- 日
- 1
- 通日
- 61
通日(オーディナル日付や年のユリウス通日とも呼ばれます)とは、その年の中での暦日の位置であり、1月1日を1として数え、12月31日で365または366に達します。技術者、分析者、学生は、ログファイルのラベル付け、季節業務の計画、年間目標の進捗バー比較、市民暦と科学・航空で使われる日番号方式の変換などでこの通算値が必要です。本計算機は、年・月・日を4桁・2桁・2桁の厳密なISO暦日付として1件受け取り、うるう年の2月を含むグレゴリオ暦上でその日が実在することを検証し、通日の整数に加えてうるうフラグ、年の長さ、12月31日までの残日数を返します。平年の2月29日や4月31日のようなあり得ない日付は、黙って折り返すのではなく明確な検証エラーで失敗します。
ISO日付から通日を計算する方法
国際的なISO形式でハイフンと固定幅を使い、年・月・日を書いた暦日付から始めます。すべてのクライアントが同じ3つの整数に合意できるようにします。まず年が実用的なグレゴリオ範囲にあり、月が1から12の間であることを確認します。
次に世界中の市民暦が用いるうるう年規則を適用します。年が4で割り切れるときうるう年となり、ただし世紀年は400でも割り切れる場合のみうるう年です。この規則により、2024年や2000年では2月29日が合法となり、2023年や1900年では非合法となります。
うるう状態が分かったら、その年の各月の日数を参照し、例えば4月31日や2月30日のように月の長さを超える日を拒否します。3つ組が有効なとき、与えられた月より前のすべての完全な月の長さを合計し、さらに月内の日を加えます。その合計が通日の序数です。
1月1日は常に1、3月1日はうるう年で61・平年で60、12月31日は366または365です。
送信内容と返却内容
パターンには一致しても実在しない暦日付(非うるうの2月29日や1〜12の範囲外の月など)も、問題を名指しするメッセージで失敗するため、クライアントは推測なしに入力を直せます。古典的な検査として、1月1日が1に対応し、12月31日が年の全長に対応し、3月1日がうるう年と平年で1日ずれることを確認できます。
宿題や素早い健全性確認には無料のブラウザフォームを使い、イベント一覧や回帰フィクスチャの一括変換が必要なときはスクリプトから同一契約を呼び出してください。検証失敗は前払い残高を消費しません。
通日計算機が実務で使われる場面
気候や農業のノートブックは、うるう日が出ても複数年の季節が揃うよう、通日に対して系列をプロットします。プロジェクト管理者は、現在の序数を365または366で割って年間目標を年の分数として追跡します。
タイムゾーンライブラリを避けたいソフトウェアでも、Unixエポックではなく市民日付で定義された進捗メーター、保守窓、コンプライアンスカレンダーには純粋な暦の序数が必要です。
のちに2日付間の営業日数、生年月日から年齢、完全なユリウス通日、ISO 8601に基づく週番号が必要なら、この通日計算機ページに詰め込むのではなく、別の検索意図とランディングとして扱ってください。
活用例
科学・季節の整列
複数年の気候・農業系列を共有の1–366軸に写像し、うるう日の後は3月以降を正しくずらします。
よくある質問
通日とは何ですか?
その年の中での暦日の序数位置です。1月1日は1、平年の12月31日は365、うるう年では366です。
うるう年に対応していますか?
はい。 グレゴリオのうるう規則が適用されます。4で割り切れる年、ただし世紀は400で割り切れる場合のみ。2月29日はうるう年のみ受理され、以降の月を1日ずらします。
必要な日付形式は何ですか?
4桁年と2桁の月・日による厳密なISO YYYY-MM-DDです。2024-3-1や2024/03/01のような値は拒否され、すべてのクライアントが同じ文字列に合意します。
2023-02-29のような無効な日付ではどうなりますか?
エラーメッセージは、その年月にその日が有効でないことを説明します。
料金はいくらですか?
ブラウザツールは無料でローカル実行です。無効な入力は課金されません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/day-of-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-03-01"}'const res = await fetch("https://api.kit.forhosting.com/date/day-of-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-03-01"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/day-of-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-03-01"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/day-of-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-03-01"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-03-01"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/day-of-year", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"date": "2024-03-01"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.day_of_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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無料のブラウザツールと有料APIは同一の純粋な同型関数を共有するため、授業デモと自動パイプラインが同じ入力で食い違うことはありません。
ISO日付から通日を計算する方法
パイプライン全体は決定的な整数演算であり、乱数シード、壁時計のタイムスタンプ、JavaScriptのDateオブジェクト、ネットワーク呼び出しはなく、同一入力は常に同一のJSONを生成します。
送信内容と返却内容
dateという必須の文字列フィールドに、2024-03-01のような厳密なISO暦日を入れて送信します。欠落フィールド、文字列以外の値、4-2-2桁パターンに一致しない文字列はinvalid_inputで失敗し、課金されません。成功時、応答は正規化された日付文字列、数値の年・月・日、1から365または366のday_of_year整数、真偽のis_leap_year、365または366のdays_in_year、その年の最終日までのremaining_days、うるう規則を記した短いformula文字列を返します。成功したAPI呼び出しの料金は公開ベースの$0.002/件です。
通日計算機が実務で使われる場面
運用チームはしばしばバッチジョブやウェアハウスのパーティションに通日番号を刻印し、複数フィールドの日付キーなしで年間フォルダが時系列に並ぶようにします。本機能は純粋なparseエンジンのため、API料金は成功1件あたり公開ベースの$0.002で、失敗した検証は残高を消費しません。
連携の活用例
年間進捗と目標トラッカー
今日のISO日付をday_of_yearとremaining_daysに変換し、ホストのタイムゾーンに依存せずダッシュボードで年の完了率を表示します。
バッチラベルとログパーティション
厳密なYYYY-MM-DD入力から安定した通日番号でファイルやウェアハウスパーティションを刻印し、不正日付には明確なinvalid_inputを返します。