這個計算器的功能
「日期加減日曆單位計算器」可以從任一個起始日期,加上或減去你指定數量的天、週、月、季或年。它會以你偏好的格式回傳計算後的日曆日期、星期幾,並同時顯示起始日與結果日各自是當年的第幾天。本工具採用外推格里曆(proleptic Gregorian calendar),因此在世界各地計算結果都一致,不會套用任何國定假日或工作日規則。
使用方式
輸入起始日期(年、月、日),選擇日期格式(美式 m/d/yyyy、歐式 d-m-yyyy,或 ISO yyyy-mm-dd),此設定只影響日期的顯示方式;接著選擇運算符號(加或減),輸入數量,再選定單位類型。數量可以是零,也可以是負數。
計算公式說明
天與週採用精確的天數計算:先把日期轉換成儒略日數(Julian Day Number,JDN),加上帶正負號的位移量(週會先乘以 7),再把 JDN 換算回日期,這樣就能自動處理 365 天與 366 天的年份。整體計算可表示為:
$$\text{Result} = \text{Start Date} \;\pm\; n \times \text{Unit}$$對於天與週的精確計算:
$$\text{JDN}_{result} = \text{JDN}_{start} + n_{days}$$月、季、年則是以完整的日曆月為單位推移:先算出總月數,再拆成年與月,最後把「日」夾限到該月的最後一個有效日期:
$$D_{result} = \min\big(D_{start},\; \text{daysInMonth}(Y_{result}, M_{result})\big)$$舉例來說,1 月 31 日減一個月,會落在前一個月的最後一天,而不會溢位跑到下個月。
實際範例
起始日 6/15/2026(星期一,2026 年的第 166 天),加上 180 天。其儒略日數為 \(2461577\);加上 180 得到 \(2461577 + 180 = 2461757\),對應到 2026 年 12 月 12 日——星期六,也是 2026 年的第 346 天。所以結果會顯示「Saturday December 12, 2026 / 12/12/2026 / 346th Day of 2026」。
常見問題
為什麼加一個月後,「日」有時候會改變?因為每個月的天數不同。把 1 月 31 日加一個月時,會透過夾限機制落在下個月的最後一個有效日期(2 月 28 日或 29 日)。
閏年是怎麼處理的?天與週的運算計算的是真實天數,因此會正確地跨越閏日。若把整年數加到 2 月 29 日,而目標年份非閏年,結果會落在 2 月 28 日。
它會計算工作日嗎?不會——它純粹以日曆單位運算,會忽略週末與假日。