無需上傳, 100% 本機處理, 無需帳戶

文章

計算兩個日期之間的工作日

「加 30 個工作日」聽起來很簡單,直到你意識到各國假日不同,週末不一定是週六和週日,而且大多數計算機在是否將起始日期納入計算上意見相左。本文解釋其中的機制,讓你清楚自己實際在計算什麼。

什麼是工作日

工作日是指非週末且非公眾假期的任何一天。在大多數國家,這意味著週一至週五,減去該國勞動法或銀行體系所承認的官方公眾假期。日曆天數與工作日數之間的差距增長很快:法國跨越聖誕節和新年的 30 個日曆天,扣除週末和相關公眾假期後,只有約 20 個工作日。週末的定義本身也有所不同:在一些波斯灣國家,工作週為週日至週四,週五和週六是週末。這個定義在邊界情況下最為重要:若截止日期落在週六,實際截止日期通常是前一個週五或下一個週一,取決於合約或司法管轄區。兩個答案本身都沒有錯;重要的是雙方使用相同的規則。

十二月日曆網格,週末以灰色陰影標示,公眾假期以紅點標記,其餘工作日以白色突出顯示

包含與排除計算及差一錯誤陷阱

兩個人計算同一個時間段卻得出不同結果,最常見的原因是起始日期和結束日期是否被計入。包含式計算將兩個端點都視為時間段的一部分。排除式計算忽略一個或兩個端點。合約中寫「自訂單日期起 5 個工作日內交貨」是模糊的:第零天是訂單日,所以交貨期限是第 5 天結束時,還是從下一個工作日開始計算?在實踐中,商業法的付款和運輸條款通常排除起始日期、包含結束日期,使時間段為左開右閉或半開。當措辭不明確時,最安全的做法是詢問並記錄答案,然後使用明確說明其所採用慣例的工具驗證你的計算。本站的工作日計算機預設使用包含式範圍:起始日期和結束日期都計入合計。

固定假日、移動節日與地區問題

公眾假期分為兩類。固定日期假日每年落在相同的日曆日期:1 月 1 日、7 月 4 日、12 月 25 日。移動假日每年會變動,因為它們以農曆或宗教週期為基準:復活節及其衍生節日(復活節星期一、耶穌升天日、聖靈降臨節星期一)可能因年份不同而相差多達五週。任何計算工具面臨的更大挑戰是地區覆蓋範圍。德國有九個聯邦假日,另加二至五個因邦而異的假日。西班牙有全國假日清單加上各自治區的假日。美國有聯邦假日,但沒有要求私人雇主遵守的全國性規定。本站的工作日工具涵蓋法國、美國、英國、德國、西班牙、義大利、加拿大和比利時的主要國家假日。不包含地區性假日。若你的合約或服務協議指定了特定的州或省,請對照當地的權威資料來源核實結果。

一個日曆月份,週末以陰影標示,一個公眾假期標記出來,顯示計算工作日時哪些天被跳過。

實際應用:付款條款、服務協議截止日期、通知期

工作日計算最常見的現實用途是付款條款。「net-30」是指發票日期後 30 個日曆天付款,但一些合約寫的是「net-30 工作日」,這會在時間視窗上多出幾週。在簽署前了解其中的差異很重要。運輸和物流服務協議通常以工作日報價,因為承運商在週末和公眾假期不運作;週五下單的「5 個工作日交貨」,最早通常會在下一個週五才到達。勞動法往往以工作日規定通知期:週一提出需要十個工作日通知期的離職,若期間沒有假日,則在兩個日曆週後生效,但如果時間視窗內有公眾假期,則會延後。房東與房客法、法律傳票截止日期以及金融結算週期(T+1、T+2)均以工作日邏輯運作。本站的日期差計算工具讓你將總天數和日曆週作為工作日數的交叉核實依據。

在瀏覽器中計算,不傳送任何資料

本站的工作日計算機和日期差計算工具完全在瀏覽器中運行。你輸入兩個日期,選擇可選的國家以納入國家假日,結果由 JavaScript 在本地計算。沒有任何日期、日期範圍或國家選擇傳送至任何伺服器。假日邏輯在建置時編譯進頁面:給定年份的法國、德國或美國假日組,由一個小型演算法即時計算,而非從遠端資料庫獲取。由於移動節日是計算出來的而非儲存的,該工具無需網路連線即可處理合理範圍內的過去和未來年份。代價是前一節所述的那個:假日清單是一個精選的國家級清單,而非全面的地方清單。將結果作為可靠的起點,在需要精確時再核實地區性細節。

本文涉及的工具

常見問題

net-30 是指 30 個日曆天還是 30 個工作日?

在大多數標準商業用法中,net-30 是指 30 個日曆天。若合約意指工作日,通常會明確說明。如有疑問,請核查合約措辭;兩種解讀之間的差距可能長達數週。

為什麼工具不涵蓋所有地區假日?

工作日工具包含八個國家的主要國家公眾假期。地區性假日(美國各州、德國各邦、西班牙各自治區)未包含在內,因為它們在次國家層面有所不同,國家層面的工具無法可靠地概括。工具記載了這一限制,讓你可以自行套用地方修正。

起始日期是否被計入?

本站的工作日計算機預設使用包含式範圍:起始日期和結束日期都計入合計。許多合約和法律框架排除起始日期(事件發生日不算第一天)。若你的情況排除第零天,請從結果中減一。