時間工具 / 052
日期差計算器
輸入兩個日期,快速計算相差天數、完整年月日、週數,以及期間內的平日與週末天數。
選擇兩個日期後會立即計算,不需要按送出。
為什麼做這個
兩個日期到底相差幾天,看似簡單,實際上還會遇到是否包含起訖日、跨月份、閏年等不同情況。這個工具把常見的日期差結果整理在一起,不用再自己逐天計算。
這個工具怎麼用
選好起始日期與結束日期後,結果會立即更新。「相差天數」表示兩個日期之間實際經過的日數,例如同一天為 0 天。若是活動天數、住宿日期或其他需要把開始日與結束日都算進去的情況,可以改看「首尾都算」,同一天則會是 1 天。
「完整年月日」會依日曆順序先計算完整經過的年,再計算月,最後補上剩餘天數。本工具採用月底對齊規則,例如平年的 1 月 31 日到 2 月 28 日會視為完整 1 個月。這和單純把總天數除以 30 得到的結果不同。
平日與週末的統計採用與「相差天數」相同的區間口徑,平日為星期一至五,週末為星期六、日。這項統計沒有套用政府行事曆,因此國定假日、補班日或公司自己的休假制度不會另外判斷。
天數計算會將輸入的日期依年、月、日轉換成統一的日曆基準後再比較,而不是直接以本地時間的毫秒數相減。這樣可以避免部分地區切換日光節約時間時,一天只有 23 或 25 小時而造成的天數偏差。
舉個例子:2026 年 1 月 1 日到 3 月 1 日,相差天數是 59 天(1 月的 31 天加上 2 月的 28 天),首尾都算則是 60 天,換算成週是 8 週又 3 天。同樣的區間放在閏年就不一樣:2024 年 2 月 1 日到 3 月 1 日是 29 天,2026 年同樣的日期只有 28 天。這也是不能把「一個月」固定當成 30 天的原因。
常見問題
相差天數有包含起始日和結束日嗎?
主要的「相差天數」表示兩個日期之間實際經過的日數,因此同一天為 0 天。如果需要把開始日與結束日都計入,可以直接查看「首尾都算」的結果,同一天會是 1 天。
為什麼 1 月 31 日到 2 月 28 日會顯示 1 個月?
因為本工具的完整年月日採用月底對齊規則。當下一個月份沒有相同日期時,會以該月最後一天作為對應日期,因此平年的 1 月 31 日往後一個完整月會對應到 2 月 28 日。總天數仍會另外依實際日期計算。
平日天數有扣掉國定假日嗎?
沒有。這裡只依星期判斷,星期一至五列為平日,星期六、日列為週末。國定假日、補班日與個別公司的休假制度需要另外依實際行事曆調整。
起始日期比結束日期晚會怎樣?
仍然可以計算。工具會以兩個日期的實際先後順序計算差值,並提示原本輸入的日期方向;也可以使用「對調兩個日期」快速交換欄位。
跨閏年或遇到日光節約時間會影響結果嗎?
閏年會依實際日曆日期計算。天數差則以年、月、日為基準處理,不直接使用本地時間經過的毫秒數,因此可以避免日光節約時間切換造成一天不是剛好 24 小時而產生的偏差。
計算請假、租約或合約期間時,應該看哪一個數字?
要看那份規定或合約怎麼寫。法律上計算期間時,以日定期間的通常不算第一天(始日不算入),這接近本工具的「相差天數」;住宿、活動、請假天數則多半是開始日與結束日都算,請看「首尾都算」。有疑問時,以合約文字或承辦單位的說明為準。