什麼是日期加減天數計算器?
這個工具會以一個起始日期搭配指定的天數,計算出最終的日期。輸入正數天數會讓日期往後推算;輸入負數則往前回推。核心運算採用全球通用的西曆(格里曆),因此在任何地區的結果都一致。此外,工具還提供選用的「年號」下拉選單,讓您能以日本年號(例如令和、平成)輸入起始年份——它會自動加上固定的對應偏移值,將年號年份換算成西元年。預設的曆制為西曆,因此一般使用時不必特別調整。
使用方式
先選擇曆制(一般使用維持「西曆」即可),輸入年份,選擇月份與日期,再填入要加上的天數(若要往前回推,請輸入負數)。接著選擇是否將起始日當作天數計算的第 1 天。系統會顯示換算後的新日期以及對應的星期幾。
計算公式
日期會先轉換成「儒略日數」(Julian Day Number,JDN):令 \(a = \lfloor (14 - \text{month})/12 \rfloor\)、\(y = \text{year} + 4800 - a\)、\(m = \text{month} + 12a - 3\),則
$$\text{JDN} = \text{day} + \left\lfloor \frac{153m + 2}{5} \right\rfloor + 365y + \left\lfloor \frac{y}{4} \right\rfloor - \left\lfloor \frac{y}{100} \right\rfloor + \left\lfloor \frac{y}{400} \right\rfloor - 32045.$$接著把天數偏移值加到 JDN 上,再將結果換算回日曆日期。若選擇計入首日,實際的偏移值會依推算方向減少 1 天。
$$\begin{gathered} \text{Result Date} = \text{JDN}^{-1}\!\left(\text{JDN}(\text{Start Date}) + \Delta\right) \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{Start Date} &= (Y_g,\ \text{Month},\ \text{Day}) \\ Y_g &= \text{Year} + \text{Era Offset} \\ \Delta &= \text{Days to Add} \end{aligned} \right. \end{gathered}$$
實際範例
以 2024-06-15 為起始日,加上 10 天,且不計入首日。起始日期換算為 JDN \(2460477\),加上 10 後得到
$$2460477 + 10 = 2460487,$$換算回日期即為 2024-06-25,星期二。若改為計入首日,實際偏移值為 \(9\),結果為 2024-06-24(星期一)——也就是這段期間的第 10 天。
常見問題
能正確處理閏年與跨月、跨年嗎?可以。透過儒略日數的雙向換算,閏年、月底進位以及跨年界線都會自動處理妥當。
可以減去天數嗎?可以——只要在天數欄位輸入負數即可。
「計入首日」是什麼意思?啟用後,起始當天本身會被算作這段期間的第 1 天,因此日期實際移動的天數會比輸入的數字少 1 天。