LibraTool logoLibraTool

免費日期差計算器

計算兩個日期之間的精確差值——年、月、日、周、工作日(不含週末)、小時和分鐘。

載入後可離線使用

快速預設

選擇兩個日期以檢視時間差。

工作原理

所有計算都在瀏覽器中使用手寫的 UTC 算術完成——沒有外部庫、沒有伺服器請求。工具將 YYYY-MM-DD 字串解析為日曆分量,使用 Date.UTC() 毫秒時間戳計算差值以避免夏令時漂移,並逐日迭代統計週一至週五的工作日。

  1. 1
    安全的日期解析
    每個日期字串都先用正則校驗,再透過 Date.UTC() 重建——而不是 new Date(string)——因此位於 UTC 以西的使用者不會因瀏覽器按本地時區解釋純日期輸入而看到星期偏移。
  2. 2
    UTC 毫秒相減
    兩個日曆日期透過 Date.UTC(y, m, d) 轉換為 UTC 午夜時間戳。整除 86,400,000 ms 得到精確的整天數,不受夏令時切換影響——否則某一天可能顯示為 23 或 25 小時。
  3. 3
    日曆分解與工作日計數
    手寫的年/月/日分解會處理月份天數不規則的情況(需要時從上一個月借天數)。另一個迴圈逐一遍歷兩個日期之間的每個 UTC 日,只在週一至週五(getUTCDay() !== 0 或 6)時計數,無論地區如何都能得出精確的工作日總數。
  4. 4
    以所有單位顯示結果
    總數使用頁面語言的 toLocaleString() 格式化,按地區習慣進行數字分組,然後同時以年/月/日、總天數、工作日、周、小時和分鐘顯示。當前的日期對透過 history.replaceState 寫入網址,因此任何結果都可以收藏或作為直接連結分享。

相關工具

常見問題