ForHosting KIT · 日付・時間

日付の差と年齢計算

2つの日付の差を、通算日数と年・月・日の両方で正確に求められ、基準日時点の年齢も分かります。2024年1月31日から2月29日までは1か月と0日です。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
計算内容
2つの日付の差
開始日または生年月日
2024-01-01
終了日または基準日
2024-01-01
結果
合計日数
0
年数
0
月数
0
日数
0

2つの日付の間の日数や、年・月・日で表す年齢を求める場面は多くあります。本ツールは市民暦の規則だけに従い、タイムゾーンや営業日、隠れた丸めを使いません。総日数、符号付きの年月日分解、計算に用いた順序付きの日付対を返します。

市民暦の日付のみ — 時刻もタイムゾーンも使いません

入力はすべて YYYY-MM-DD 形式の暦日です。差そのものの計算に時刻、夏時間、サーバ時計は使いません。2023-02-29 や 2024-04-31 のような存在しない日は黙って補正せず拒否するので、入力ミスが誤った記念日になりません。

月末を一貫して扱う年・月・日の分解

分解は暦月を使い、先の月末にクランプします。2024-01-31 に1か月を足すと 2024-02-29 になり、架空の3月の日にはなりません。仮の月が終了日を超える場合は1か月戻し、残りの全日数を数えます。

そのため 2024-01-31 から 2024-02-29 は1か月0日、2024-01-31 から 2024-02-28 は0か月28日です。総日数は開始日を含みません。同じ日なら0です。

順序が逆のときは符号付きで返します

終了日が開始日より前でも、入力を黙って入れ替えません。送信された順序をエコー欄に残し、総日数と年月日分解に負の符号を付けます。この対称性により、未来の誕生日、逆転した期間、逆転を検出したい自動検査を、別経路なしで扱えます。

プロジェクト節目の日数

開始と期限の間の暦日(開始日を含まない)を、週末・祝日・タイムゾーンを混ぜずに測ります。

フォームと資格確認のための年齢

固定の基準日に対する年・月・日を計算し、確認とエクスポートを再現可能にします。

記念日と2月29日の境界

2月29日生まれや月末同士の組み合わせを、通常月と同じクランプ規則で扱います。

月末はどう扱いますか?

月を足すときは先の月の最終有効日にクランプし、中間日が終了日を超える場合は1か月戻します。残りの全日数が分解を完成させます。

うるう年でない年の2月29日はどうなりますか?

2024-02-29 から 2025-02-28 の周年は、クランプ規則により1年0か月0日です。2023-02-29 のような無効入力は拒否されます。

営業日計算との違いは何ですか?

本機能は自然な暦の差と市民年齢を数えます。営業日や祝日は別ツールの領域で、ここでは適用しません。

パソコンとスマートフォンで無料ですか?

ページはデスクトップとモバイルのブラウザでローカルかつ無料で動作します。

終了日が開始日より前の場合はどうなりますか?

日付を勝手に入れ替えることはありません。入力した順番のまま、通算日数と年・月・日にマイナスの符号を付けて返すので、逆向きの期間であることがすぐに分かります。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/dev/date-diff

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/dev/date-diff \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_from":"2024-01-31","date_to":"2024-02-29"}'
{
  "date_from": "2024-01-31",
  "date_to": "2024-02-29"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.date_diff",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

year_min1
year_max9999
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

市民暦の日付のみ — 時刻もタイムゾーンも使いません

そのため同じ日付の組は、ブラウザの無料ツールでも API でも同じ結果になります。

差分モードと年齢モードは同じ計算核を共有します

無料ツールで基準日を省略すると端末のローカル暦日を使います。差分モードは date_from と date_to を比較し、total_days、years、months、days、sign、順序付きの対を返します。年齢モードは birthdate と明示的な reference_date を使い、決定的な結果を出します。数値上、年齢はフィールド名を変えただけの差分と同じ関数なので、固定基準日での年齢が同じ日付対の差分と食い違うことはありません。

期間の自動検査

パイプラインから API を呼び、total_days と符号付き分解を監査ログに保存します。

日数は含む数え方ですか、含まない数え方ですか?

開始日を含みません。同じ日は総日数0、次の暦日は1です。

結果が負になることはありますか?

はい。終了日が開始日より前のとき、total_days と年月日フィールドは負の符号を持ち、送信値の入れ替えは行いません。

KITの完全なドキュメントを見る →