日期加減計算
從一個起算日期往前或往後推算幾天、幾週、幾個月、幾年,並正確處理月底的情況。
在你的瀏覽器中執行
這一頁回答什麼
選一個起算日期、一個數字和一個單位,它會告訴你是哪一天。今天起算 90 天後、期限前六個月、 合約開始兩年後。
結果會一併顯示星期幾——那通常是你第二個想知道、卻總是忘記確認的事。
加一個月不等於加 30 天
有趣的情況就在這裡,也是各家日期函式庫互相不一致的原因:
1 月 31 日的一個月後是哪一天?
| 答案 | 理由 |
|---|---|
| 2 月 28 日 | 夾到目標月份的最後一天 |
| 3 月 3 日 | 月份加一,日期溢位讓它自己滾過去 |
| 3 月 2 日 | 加 30 天 |
本頁給的是 2 月 28 日——夾到月底——這也是幾乎所有行事曆軟體、以及多數法律文書所說的「一個 月後」。閏年則是 2 月 29 日。
由此產生的結果是:月的運算不可逆。1 月 31 日的一個月後是 2 月 28 日,而 2 月 28 日的一個月 前是 1 月 28 日,不會回到你出發的 31 日。這不是計算器的缺陷,而是曆法本身的性質;也正是為什麼 重要的契約會寫「當月最後一日」,而不是依賴這個運算。
| 起算 | 加一個月 |
|---|---|
| 1 月 31 日 | 2 月 28 日(閏年 29 日) |
| 3 月 31 日 | 4 月 30 日 |
| 1 月 30 日 | 2 月 28 日 |
| 2024 年 2 月 29 日 | 2024 年 3 月 29 日 |
2 月 29 日加一年
同樣夾住。2024 年 2 月 29 日的一年後是 2025 年 2 月 28 日,四年後是 2028 年 2 月 29 日。
該用哪一個單位
它們不能互換,而選錯是這裡最常見的錯誤:
| 條文寫的是 | 該用 | 因為 |
|---|---|---|
| 「90 天」 | 天 | 固定天數,不受月份長度影響 |
| 「3 個月」 | 月 | 落在相同的日號,實際是 89–92 天之後 |
| 「6 週」 | 週 | 落在相同的星期幾 |
| 「1 年」 | 年 | 明年的同一天 |
90 天和 3 個月不是同一段期間。 從 1 月 1 日起算,90 天是 4 月 1 日,三個月也是 4 月 1 日 ——那是巧合。從 3 月 1 日起算,90 天是 5 月 30 日,三個月是 6 月 1 日。適用哪一個,完全取決於 條文怎麼寫。
週是唯一保證落在相同星期幾的單位,這就是排班與週期性行程都以週指定的原因。
這裡不提供「加幾個工作日」
這是刻意的。要加「10 個工作天」就需要一份假日行事曆,而假日因地而異、每年都在動——農曆春節、 復活節,以及假日碰到週末後補上的每一個平日。一個宣稱做得到的通用計算器,對大多數使用者來說 都會默默地算錯。
日期相差計算確實會計算兩個已知日期之間的工作日,但附帶同樣的但書: 只扣週末,不扣假日。
常見期間
| 期間 | 從 2026 年 1 月 1 日起算 |
|---|---|
| 30 天 | 2026 年 1 月 31 日 |
| 90 天 | 2026 年 4 月 1 日 |
| 6 個月 | 2026 年 7 月 1 日 |
| 1 年 | 2027 年 1 月 1 日 |
| 18 個月 | 2027 年 7 月 1 日 |