日付の計算 — 期間、何か月後、記念日カウント
二つの日付の間が何日か、ある日の何か月後がいつか、今日が何日目か。月ごとに日数が違うことと、うるう年と、「何日目」の数え方まで合わせて計算します。
日付の計算は簡単そうに見えて、月の長さが揃っていないせいで落とし穴が多い分野です。1月31日の1か月後は何日でしょうか。2月に31日はないので、答えは2月28日(うるう年なら29日)です。ここを機械的に処理すると3月3日という答えが出ます。
このツールは足し算と差の計算を互いの逆算として定義しています。足すときは存在しない日付を月末に合わせ、差を出すときは「足し算でちょうどその日付に届く年・月・日」を探します。無作為な日付5,000組で両者が必ず一致することを確認しています。
三つのモード
| モード | 入れるもの | 出るもの |
|---|---|---|
| 日付の差 | 二つの日付 | 年・月・日の内訳、総日数、週+日、総月数、両端を数えた日数 |
| 日付から | 基準日と足し引きする年・月・日 | 結果の日付と曜日、基準日から何日離れているか |
| 記念日カウント | 始まった日 | 今日で何日目か、100日・1,000日や周年の日付と曜日 |
月末に月を足すとき
1月31日の1か月後は2月28日です。その月に同じ日付がなければ月末に合わせるのが暦のプログラムの標準的な扱いで、契約書の「1か月後」も通常はこう読みます。月末に合わせたときは結果の下にその旨を表示します。
足す順番でも答えが変わります。このツールは年と月を先に足して月末に合わせ、そのあとで日数を足します。だから1月31日+1か月1日は、2月28日の翌日で3月1日です。
うるう年は4で割り切れる年のうち100で割り切れる年を除き、400で割り切れる年は含みます。2000年と2024年はうるう年、1900年と2100年は違います。2月29日に1年を足すと2月28日になります。
初日を数えるかどうかで1日変わる
差のモードは初日を数えません。同じ日なら0日、翌日なら1日です。配送期間や契約の期限はこの数え方です。民法でも期間を日で定めたときは初日を算入しないのが原則です。
一方、ホテルの宿泊日数や旅行の日数のように両端を数える場面もあるので、結果の下に「開始日と終了日の両方を数えると何日か」を併記しています。どちらが必要かを決めれば、計算をやり直す必要はありません。
記念日は数え方がまた別です。日本でも韓国でも、赤ちゃんの百日祝いや交際記念日は生まれた日・始まった日を1日目として数えます。だから100日目は99日後です。100をそのまま足すと1日ずれます。記念日カウントのモードはこの数え方に合わせています。
周年は日数ではなく同じ日付で計算します。3周年は1,095日後ではなく3年後の同じ日です。うるう日に始まった場合は前日に合わせます。
使い方のこつ
- •日付欄の横の「今日」を押すと今日の日付が入ります。入力の下にはその日の曜日と、今日から何日かが一緒に出ます。
- •締切から逆算するときは「日付から」モードで「引く」を選びます。提出日の2か月前が何曜日かがすぐ分かります。
- •土日や祝日を除きたい計算は営業日計算をお使いください。このツールは暦のすべての日を数えます。
- •年齢は年齢計算に専用のものがあります。差のモードの「年」と計算のしかたは同じです。
よくある質問
1か月足すと日付が変わるのはなぜですか?
その月に同じ日付がないからです。1月31日+1か月は2月28日(うるう年は29日)に合わせます。合わせた場合は結果の下に表示されます。
初日は0日目ですか、1日目ですか?
差のモードは初日を数えないので同じ日は0日です。両端を数えた日数も併記しています。記念日カウントは初日を1日目として数えます。
1900年より前の日付も計算できますか?
できます。現在のグレゴリオ暦をそのまま過去に延長して計算します。明治5年以前の日本の日付は旧暦なので、史料の日付とは異なります。
時差の影響を受けますか?
受けません。時刻を持たない暦の日付だけで計算するので、東京で見ても他の国で見ても同じ結果になります。「今日」ボタンだけが端末の時間帯に従います。
入力した日付は保存されますか?
保存されません。計算はすべてブラウザの中だけで行われます。
