Ozakboy.TaiwanKit.TaiwanHolidays — 台灣假日查詢套件
台灣國定假日/補班日查詢的 .NET 套件:官方行事曆 2017~2027 內嵌、補班週六正確判斷、排程輔助齊全,離線可用、零依賴。

Ozakboy.TaiwanKit 系列套件之一——以官方行事曆為準的台灣假日/工作日查詢函式庫。
相關連結
- 📦 NuGet:https://www.nuget.org/packages/Ozakboy.TaiwanKit.TaiwanHolidays/
- 💻 GitHub:https://github.com/ozakboy/Ozakboy.TaiwanKit.TaiwanHolidays
- 🌐 介紹網站:https://holidays.ozakboy.life
dotnet add package Ozakboy.TaiwanKit.TaiwanHolidays
專案背景
「這天要不要上班」看似簡單,實際上台灣的行事曆有補假、彈性放假、補班的週六等規則,光看週末會算錯。而且 2025 年《紀念日及節日實施條例》通過後新增了多個放假日,前後年度的假日集合並不相同。本套件直接內嵌人事行政總處的官方「政府行政機關辦公日曆表」,把這些規則一次處理好。
主要功能
基本查詢
IsHoliday / IsWorkday / GetDayInfo,六種日型分類(工作日、例假日、國定假日、補假、彈性放假、補行上班)。補班的週六正確判為工作日——這是與「只看週末」的關鍵差異。單日資訊附官方假日名稱(中英雙語)。
排程輔助
- 下一個 / 上一個工作日(跨連假)
- 區間工作日計算(含頭尾)
- 連假查詢:自動找出 3 天以上連續假期(如 2026 春節 9 天連假),跨年連假在兩個年度都完整呈現
範圍語意
資料涵蓋 2017-01-01 ~ 2027-12-31。超出範圍的查詢一律拋例外(絕不用週末猜測),另提供 TryGetDayInfo 與 MinDate/MaxDate 供優雅處理;net8+ 提供 DateOnly 多載。
技術架構
- 資料工程:官方 CSV(政府資料開放平臺 dataset 14718)→ 自製轉換器(自動處理 UTF-8/Big5 編碼混用)→ 內嵌 C# 資料表,每個年度標注來源公告
- 多框架:
netstandard2.0/netstandard2.1/net8.0/net9.0/net10.0,零執行期依賴 - 品質保證:50 項 xUnit 測試,年度分類數以官方統計為準、春節初一等錨點為獨立事實,雙軌防止轉換回歸;全框架建置零警告
- 長期維運:每年約 5~6 月官方公告次年行事曆後,以 Minor 版釋出新年度資料
- 雙語文件:README 與線上文件皆中英雙語,介紹網站以 Nuxt 4 靜態產生、部署於 GitHub Pages
功能亮點
- 官方資料內嵌:人事行政總處辦公日曆表 2017~2027,離線可用、零依賴
- 補班日正確判斷:六種日型分類,補行上班的週六正確判為工作日
- 已含 2025《紀念日及節日實施條例》新制假日(教師節、光復節、行憲紀念日等)
- 排程輔助:下一個/上一個工作日、區間工作日計算(含頭尾)
- 連假查詢:自動找出 3 天以上連續假期,跨年連假不截斷
- 明確範圍語意:超出涵蓋年份一律拋例外,另有 TryGetDayInfo 與 DateOnly 多載