日付計算機には 2 つのモードがあります. 加減算モードは開始日付, 動作, 数量, 単位を受け取り, 1 行を印字します: 開始日付, 符号, 数量, 単位, そして曜日から月名までを完全に広げた着地点の日付. 日付差モードは 2 つの日付を受け取り, 2 者の間の正確な日数と, その日数から導かれる週, 月, 年を印字します. 全数字はブラウザ内の Date オブジェクトから直接計算され, バックエンドも API 呼び出しもありません. 日付計算機で始めて, 既定をそのままにします: 開始日付に 2026-09-24, 動作は加算, 単位は日, 数量に 30 と入力.
加減算モードの結果行
結果行は, 開始日付, 符号, 数量, 単位, 等号, 着地点の日付, と読めます. 開始日付は生の ISO 値のまま印字され, 着地点の日付は曜日, 月名, 日を含めてページ言語で広げられます. 例の実行は 2026-09-24 + 30 日 = 2026年10月24日土曜日 と印字します. 同じ実行はドイツ語ページで Samstag, 24. Oktober 2026, 英語ページで Saturday, October 24, 2026, 中国語ページでは 2026年10月24日 に着き, 曜日は中国語表記で続きます. 着地点の日付は固定テンプレートではなくブラウザのローカルデータで整形されるためです. 動作の選択は符号を反転させ, 2026-09-24 から 14 日引くと 2026年9月10日木曜日 になります. 結果横のコピーボタンは 1 行全体をクリップボードに入れます.
4 つの単位
単位の選択は 日, 週, 月, 年 を出し, 2 つの組は挙動が違います. 日と週は日数算術です: 週は先に日に換算され, 5 週は 35 日として入ります. 2026-09-24 に 5 週加えると 2026年10月29日木曜日 に着きます. 月と年は暦算術です: 月または年のフィールドを動かし, 日を保つため, 2026-09-24 に 3 か月加えると 2026年12月24日木曜日 に着きます. 数量は算術の前に上限までクリップされます: 3650 日, 520 週, 120 か月, 10 年, 同じ 10 年の地平の 4 つの表現. 上限を超える値は頭が切られ, 3651 日は 3650 日として入り, エラーにはなりません.
月と年のオーバーフロー
暦算術は日を保ち, 目標月にその日がないときは, 余った日数が翌月へ溢れます. 2026年1月31日 に 1 か月加えると, 2026 年の 2 月は 28 日なので, 余った 3 日が結果を 2026年3月3日火曜日 に着かせ, 2 月 28 日 にはなりません. 同じ開始は 2024 年なら 3 月 2 日 (土曜日) に着き, あの年の 2 月が 29 日あるためです. 年の加算は同じ規則を年フィールドに適用します: 2024年2月29日 に 1 年加えると, 2025 年の 2 月に 29 日がないため, 2025年3月1日 (土曜日) に着きます. オーバーフローは減算方向でも起こります: 2026年3月31日 から 1 か月引くと 2026年3月3日 (火曜日) に着き, 一方 2026年1月31日 から 1 か月引くと, 12 月に 31 日があるため, 2025年12月31日 (水曜日) にそのまま着きます. 結果行は常に計算された日付を印字するため, オーバーフローは黙ってではなく見えます. 未来日付ガイドは同じ規則を期限日や目標日付の質問に適用します.
日付差モード
日付差モードは 2 つの日付を受け取り, 2 者の間の絶対ミリ秒差を計算するため, 入力の順番は無関係です. 日数はその差を 86400000 ミリ秒で割って四捨五入したもので, 行の中で唯一正確な数字です. 週, 月, 年は日数を固定の除数 7, 30.44, 365.25 で割り, それぞれ切り捨てて導かれます. 2024-01-01 から 2026-07-01 の実行は 912 日 = 130 週 ≈ 29 月 ≈ 2 年 と印字します. 近似値に意味があります: 暦で数えると 2024年1月1日 から 2026年7月1日 はちょうど 30 か月ですが, 912 を 30.44 で割ると 29.96 で, 切り捨てて 29 になります. つまり月の数字は日数の換算であり, か月数のカウントではありません. 短い区間, 2026-09-24 から 2026-12-25, は 92 日 = 13 週 ≈ 3 月 ≈ 0 年 と印字します.
日付の解析
日付入力からは YYYY-MM-DD の生の文字列が返り, ツールは文字列を解析する代わりに年, 月, 日コンポーネントでローカル真夜中に Date を組みます. 日付だけの文字列を解析すると UTC 真夜中となり, UTC 以西のどのタイムゾーンでも 1 日早読みになるためです. コンポーネントから日付を組むことで, 2026-09-24 はユーザー自身のタイムゾーンでも 2026-09-24 のまま残り, 2 つの日付の日数はユーザーの所在地に依存しません.
何ではないか
日付計算機は年齢計算機ではありません. 終了日が今日に固定され, 答えが歳, か月, 日の年齢になるあの 1 ケースには, 年齢計算機がその分解を実行します. エポック秒数での同一区間では, Unixタイムスタンプ変換が日付を整数に書き直し, 日数は差を 86400 で割った結果です. そして営業日は数えません: 両モードとも暦日を数え, 週末も祝日も含みます. 日付差の営業日側については, 日付差ガイドが月曜から金曜の規則と境界ケースを扱います.