日付間の日数を計算
2024年1月15日から2025年3月10日までは420日で、ちょうど60週、または13か月と23日です。2つの日付を入れれば、タイムゾーンに関係なく3つの表し方で期間が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 開始
- 2024-01-15
- End
- 2025-03-10
- 方向
- forward
- 符号付き日数
- 420
- 日数
- 420
- 週数
- 60
この日付差計算ツールは、タイムゾーン、時刻、夏時間の規則に左右されず、2つの暦日の間隔を求めます。実在する日付をYYYY-MM-DD形式で2つ入力すると、正確な日数、週換算値、完全な週と端数日の内訳、完全な暦月と残りの日数を確認できます。0001年から9999年までのグレゴリオ暦について、常に決定的な結果を返します。日付を逆順に入力しても絶対的な間隔は変わらず、方向が過去向きであることが明確に表示されます。
正確な暦日を2つ入力します
先頭のゼロも必要です。 2026-7-5ではなく、2026-07-05と記載します。各値は単なる文字列形式ではなく、グレゴリオ暦に照らして検証されます。そのため、4月31日は拒否され、2月29日はうるう年に限って受理され、13月がもっともらしい結果になることもありません。
対応する年の範囲は0001年から9999年です。計算対象は暦日のみであり、隠れた時刻、ローカルタイムゾーン、夏時間の切り替え、UTC変換は一切関与しません。endがstartより後なら方向はforward、前ならbackwardです。
同じ日付ではsameとなり、すべての測定値がゼロになります。
活用例
プロジェクト期間を測定
開始日と納品日を、正確な日数、完全な週数、暦月の内訳に変換して計画に役立てます。
請求期間を確認
すべての月を30日とみなさず、サービス日間の完全な暦月と残りの日数を数えます。
日付ロジックを検証
テスト、インポート、報告、実在しない日付を拒否すべきシステム向けに、決定的な間隔値を生成します。
よくある質問
開始日と終了日の両方を含めて数えますか?
いいえ。 daysは経過した暦日の境界を測るため、連続する2つの日付の差は1日です。
週数はどのように計算しますか?
1週間を正確に7日として計算します。結果には小数値、完全な週数、残りの日数が含まれます。
月数はどのように計算しますか?
完全に経過した暦月を数え、その後に残る正確な暦日数を示します。
後の日付を先に入力するとどうなりますか?
日数・週数・月数は同じ期間になり、向きが逆方向であることが表示されます。同じ日付どうしなら、どの値も0で、向きは同日と表示されます。
タイムゾーンや夏時間で結果は変わりますか?
いいえ。暦の日付だけで数え、時刻、地域のタイムゾーン、夏時間の切り替え、UTCへの換算は使いません。同じ日付なら、世界のどこでも同じ答えになります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/calc2/date-difference \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-15","end":"2025-03-10"}'const res = await fetch("https://api.kit.forhosting.com/calc2/date-difference", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-15",
"end": "2025-03-10"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/date-difference",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-15",
"end": "2025-03-10"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/date-difference", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-15","end":"2025-03-10"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-15","end":"2025-03-10"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/date-difference", 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-15",
"end": "2025-03-10"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.date_difference",
"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つ入力します
最初の日付をstartフィールド、2番目の日付をendフィールドに、厳密なYYYY-MM-DD形式で入力してください。API連携ではfromやtoなどの別名も利用できますが、基本名のstartとendによってフォームや例を分かりやすく保っています。
結果の日数と週数を確認します
たとえば1月1日から1月2日までは1日であり、うるう日もほかの実在する暦日と同様に数えます。weeksは絶対日数を7で割り、表示値を小数点以下6桁に丸めるため、見積もりや報告に利用できます。営業週、週末、祝日、両端を含む数え方などは仮定しません。daysフィールドは、2つの日付を隔てる午前0時の境界数を絶対値で表します。signed_daysは入力順を保持し、endが後なら正、前なら負、両方が同じならゼロです。厳密な整数の内訳が必要な場合、whole_weeksは完全な7日単位の数を示し、remaining_days_after_weeksは0から6までの端数日を示します。この2項目は、whole_weeksを7倍して端数日を足すことで必ず総日数を再現します。経過した暦上の間隔として、予定、期間、テストデータ、一貫したAPI計算に適しています。
暦月数を正しく解釈します
月ごとの日数は一定ではないため、このツールでは1か月を固定の30日や平均日数として扱いません。元の日が移動先の月に存在しない場合は、その月の最終有効日に合わせます。これにより、1月29日、30日、31日から始まる期間でも安定した結果になります。入力が逆順でも、月の内訳は時系列で早い日から計算されるため、絶対量は一貫します。monthsフィールドは、早い方の日付から遅い方の日付へ進めた完全な暦月の数です。remaining_days_after_monthsは、完全な月を差し引いた後に残る正確な暦日数です。この2項目は暦に基づく内訳であり、daysは普遍的な正確な距離、weeksは7日単位への換算です。一方、directionとsigned_daysは入力順を伝えます。期限にはdays、作業単位にはwhole_weeks、契約、記念日、在籍期間など暦に基づく期間にはmonthsと端数日をご利用ください。
技術的な質問
APIリクエストの料金はいくらですか。
APIリクエストは1回$0.002です。ブラウザーでは計算ツールをローカルで無料実行できます。
無効な日付を入力するとどうなりますか。
形式が正しくない場合、または実在するグレゴリオ暦の日付でない場合は、invalid_inputで失敗します。