📅
免費工作日計算器
計算兩個日期之間的工作日數,或從某日期增減工作日。可設定週末規則和節假日列表。
載入後可離線使用
週末(非工作)日期
0 個設定的假期
工作原理
此工具完全在瀏覽器中執行,不使用外部庫——所有日期運算都是使用原生 Date 物件的手寫 JavaScript。它有兩種模式:計算兩個日期之間的工作日數,以及在給定日期上加減指定數量的工作日來推算將來(或過去)的日期。
- 1無 UTC 漂移的日期解析日期輸入透過將 YYYY-MM-DD 字串拆分為年、月、日並構造本地 Date 來解析——而不是 Date.parse()——因此無論你的時區偏移如何,結果始終是你輸入的日曆日期。
- 2節假日校驗與查詢每個節假日條目都先與嚴格的 YYYY-MM-DD 正則符合,再透過重建 Date 並比較各部分進行交叉檢查——因此 2026-02-31 這樣不存在的日期會被拒絕並在介面中標出,而不會悄悄順延到 3 月。有效條目儲存在以本地日期字串為鍵的 Set 中,以便在迴圈中以 O(1) 查詢。
- 3可設定週末的逐日迭代在“計算日期之間”模式中,工具遍歷範圍內的每個日曆日,對照你設定的週末日(七天中的任意組合)和節假日 Set 檢查每一天,然後分別統計工作日、週末日和遇到的節假日。在“加工作日”模式中,它一次向前或向後移動一天,跳過非工作日,直到消耗完所需的工作日數。
- 4符合地區習慣的結果顯示“加”模式中的最終日期透過 toLocaleDateString() 使用瀏覽器內建的 Intl 格式化,因此無需任何額外的庫就能以使用者本地的語言和日曆習慣顯示。