日付間の日数
2024年1月1日から1月11日までは、日付の間の夜で数えると10日、最初と最後の日を両方含めると11日です。予約や休暇届、掲載期間に合わせて数え方を選べます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 開始
- 2024-01-01
- End
- 2024-01-11
- 端点
- Exclude
- 日数
- 10
- 符号付き日数
- 10
- 開始年
- 2,024
この日数計算機は、表計算がいまだに間違えがちな家庭の計画の問いに答えます。暦日が二つあるとき、日数はいくつで、始終の両端は数えるのか。年-月-日形式の ISO 日を二つと、exclude または include の端点モードを送ります。exclude は開区間を返します。日付のあいだに厳密に挟まる真夜中の数、ホテルの泊数や出来事のあいだの日数に使う数字です。include はその距離に一を足し、初日と最終日の両方を数えます。休暇日数、補償日数、掲載が生きている日数に使う数字です。
include と exclude が日数をどう変えるか
人は一つの整数が欲しいとき、「2つの日付の日数」「旅行は何日か」「日数計算機」と入力しますが、初日と最終日を数えるかでは意見が分かれます。月曜チェックインから木曜チェックアウトの宿泊は、両端を隙間として除けば三泊、到着日から出発日まで含めれば四暦日です。入院、賃貸契約、欠席、査証の滞在日数、「この告知が生きている日数」も同じ分岐を使います。
exclude は開区間、二つのグレゴリオ通し日番号の絶対差です。include はその差に一を足し、両端が数えに入ります。同じ日の組は exclude でゼロ、include で一になります。
組を入れ替えても絶対日数は変わりません。時刻、タイムゾーン、営業日暦は範囲外です。単位は真夜中から真夜中の民事日です。
その再現性こそ、含める切替を決して持たない単なる日付間日数ツールの横に、この着地が存在する理由です。
端点切替つきの日数が実務に現れる場面
旅行の計画者は、予約サイトが泊を売り、台帳と一致する整数が要るときは exclude を使い、旅人が「実際に何日留守にするか」と聞くと include に切り替え、出発の朝も帰着の夕も旅の暦日として数えます。
人事と診療の窓口は、休暇届や入院記録が最初の日から最後の日までのすべての民事日を覆うときは include を使い、方針が「補償日数」ではなく「出来事のあと何日」と書かれているときは exclude を使います。家主と市場の出品者は、金曜から日曜まで物件が埋まっている暦を三日と見る包括の掲載日を数え、同じ滞在が二泊の家賃なら除外の泊を数えます。
教員は両方のモードを出し、通し番号を引く表計算が「両日を含む」という言い回しと黙って食い違う理由を学習者に見せます。応答のあと何も保存しません。未来の地平までの残りが問なら指定日までの日数と、土曜と日曜だけが問題なら週末数えと組み合わせ、このページは「日数」を含めるか除くかで明示する検索に残してください。
活用例
ホテルの泊数と滞在の暦日
到着と出発を、ホスト時計のタイムゾーンずれなしに、泊(exclude)または旅の暦日(include)にします。
休暇・補償・入院の期間
帳票が両端を覆うときは最初の日から最後の日までの民事日を数え、方針が「出来事のあと何日」なら開いた隙間を数えます。
授業と継続的検証での一つずれ
「両日を含む」が通し引き算より一つ多い理由を示し、Date に依存してはならない試験に両方の整数を固定します。
よくある質問
端点を除く場合と含める場合、日数はどう計算されますか?
両日はグレゴリオ通し日番号になります。exclude は絶対差です。include はその差に一を足し、両端を数えます。start と end に YYYY-MM-DD を送ってください。
同じ日付を二度送るとどうなりますか?
exclude は 0 を返します。開いた隙間はありません。include は 1 を返します。その一つの民事日が閉じた区間の全部です。
なぜ include か exclude を選ぶ必要がありますか?
ホテルの泊、休暇日数、「旅行は何日か」は両日を数えるかで食い違います。
月曜日にチェックインして木曜日にチェックアウトすると何泊ですか?
日付の間で数えると3泊です。到着日と出発日を両方含めて暦日で数えると4日になります。ホテルの請求には前者、旅行の日数には後者が合います。
日付の順番を逆にすると結果は変わりますか?
日数は変わりません。開始日と終了日を入れ替えても2つの日付の間の距離は同じなので、同じ日数が表示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/life/number-days \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-01","end":"2024-01-11"}'const res = await fetch("https://api.kit.forhosting.com/life/number-days", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-01",
"end": "2024-01-11"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/number-days",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-01",
"end": "2024-01-11"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/number-days", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-01","end":"2024-01-11"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-01","end":"2024-01-11"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/number-days", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"start": "2024-01-01",
"end": "2024-01-11"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.number_days",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
いずれかの入力が実在するグレゴリオ暦日でなければ、要求は invalid_input で失敗し、課金されません。成功した API 呼び出しは $0.002 です。
include と exclude が日数をどう変えるか
このページは endpoints フィールドで選択を明示します。変わるのは signed_days の符号だけで、流れが年代順を保てます。実装は JavaScript の Date を決して作らないため、同じ組と同じモードは Worker でも、東京のブラウザでも、TZ を America/New_York にした試験台でも、常に同じ整数になります。
二つの ISO 日付と端点モードの読み方
省略するとエンジンは exclude を既定にし、あいだの泊数やあいだの真夜中という通例の読みに一致します。各日付は実在するグレゴリオ日でなければなりません。年は四桁、月は二桁、日は二桁で、二月二十九日は閏年にだけ許されます。年は一から九千九百九十九までの閉区間に限り、四桁 ISO 文字列がきちんと定義されるようにします。古典的な確認は、二千二十四ハイフン零一ハイフン零一から二千二十四ハイフン零一ハイフン一一までを exclude で十日、二千二十四ハイフン零二ハイフン二十八から二千二十四ハイフン零三ハイフン零一までを include で閏日をまたいで三日、です。必須フィールドは start と end で、それぞれ YYYY-MM-DD 形式の実在する暦日です。最初の日付には別名 from、date1、begin、a を受け付け、二番目には to、date2、finish、b を受け付けるので、フォーム、クエリ文字列、表計算の列が契約を再利用できます。任意の endpoints は閉じた列挙で、exclude か include です。同じ切替には別名 mode、count、include_endpoints を受け付けます。欠落フィールド、空文字、非文字列型、壊れた形、存在しない月、閏でない二月二十九日は、フィールド名を示す invalid_input で失敗します。exclude でも include でもない endpoints の値も同じように失敗します。成功時の本体は、正規の start と end の文字列、解決した endpoints モード、非負の数え days、年代順の signed_days、両日の年月日成分、短い公式文字列を返します。成功した API 要求は $0.002、無効な入力は請求されません。
端点切替つきの日数が実務に現れる場面
この機能は純 parse エンジンなので、作業はこのページのブラウザ内だけで走り、API では成功した照会ごとに $0.002、検証失敗は残高を消費しません。
技術的な質問
一方の日付が実在する暦日でない場合は。
要求は invalid_input で失敗し、課金されません。二月二十九日は閏年にだけ受け付けます。月の長さは両方のフィールドで確かめます。
日数計算機の料金はいくらですか。
このページのブラウザでは無料です。API では成功した要求が $0.002、無効な入力は課金されません。