日期清單產生器會在兩個嚴格的 YYYY-MM-DD 端點之間,建立一個決定性的、逐行列出日曆日期的清單,並套用 1 到 366 之間的整數日步進,上限為 10,000 列。每個項目都會被視為時區無關的普羅萊普提克 Gregorian 日曆上的一個日期 —— 這是 HTML 日期值與 ISO 日曆日期所使用的同一個模型 —— 因此日期絕對不會因為瀏覽器運行在不同的時區而向前或向後移動。本工具不會剖析時間戳記、不會經由 Unix 時間轉換、不會抽樣列、不會跳過週末,也不會插入省略符號。您輸入一個開始日期、一個結束日期與一個步進,產生器就會回傳完整且包含起點的序列,只有在步進剛好落在結束日期時才會包含結束日期。每行可以選擇附加固定的英文星期名稱,輸出為純文字,一鍵即可複製到剪貼簿。所有剖析、計算、格式化與複製作業都在目前的瀏覽器分頁中執行,因此不會上傳或儲存任何日期範圍。請試試 日期清單產生器,直接在您的瀏覽器中完成這項工作。

date list generator cheat sheet
日期清單產生器速查表:輸入、步進、上限

參數一覽

速查表的價值就在於能否提供輸入項目的精簡摘要。日期清單產生器僅接受剛好四個控制項,每一項在請求執行前都必須符合一條嚴格規則。可接受的格式為嚴格的四位數年份、兩位數月份、兩位數日期,這也是 WHATWG HTML 日期標準中 input[type=date] 值所使用的格式。

輸入格式 / 類型允許範圍驗證規則
開始日期YYYY-MM-DD0001-01-01 至 9999-12-31真實月份長度,並採用 4-100-400 閏年檢查
結束日期YYYY-MM-DD與開始日期相同或更晚若早於開始日期則予以拒絕
日步進整數1 至 366,含端點整數;從原始開始日期起算,而非月份邊界
星期名稱選擇性開關週一至週日使用 ISO 星期排序的固定英文標籤

任何不符合這些規則的值在序列建立之前就會被拒絕,因此結果文字區只會顯示有效的輸出,或根本不顯示任何輸出。

如何用三個輸入產生日期清單

完整的工作流程只需三個輸入欄位與一次按鈕點擊。請依照下列步驟取得完整、可立即複製的序列。

  1. 選擇開始日期,並以嚴格的 YYYY-MM-DD 格式輸入,其中年份為 0001 至 9999 之間的四位數。請使用真實的日曆日期;驗證器會依照每個月的實際天數進行檢查,並在建構序列前套用閏年規則。
  2. 以相同格式選擇結束日期,絕不可早於開始日期。若結束日期早於開始日期,請求會在沒有部分輸出的情況下遭到拒絕。
  3. 輸入介於 1 到 366 之間的整數日步進。1 用於每日清單,7 用於每週序列,14 用為雙週節奏,較大的值則用於自訂間隔。非整數、零以及超過 366 的值都會被拒絕。
  4. 若希望每行附加週一至週日的名稱,請切換星期名稱選項。標籤為固定的英文字串,並非瀏覽器的本地化輸出。
  5. 按下「產生」,並閱讀結果摘要,其中會說明所選步進是否剛好落在結束日期上。摘要為是否納入的唯一依據。
  6. 點擊「複製」即可將逐行文字傳送到剪貼簿。若瀏覽器封鎖剪貼簿存取,請手動選取唯讀區域中的文字,並使用鍵盤快速鍵複製。

步進模式與其產生的序列

步進值會驅動所有後續決定,因此了解常見的步進實際上會產生什麼結果是值得的。下列範例皆從 2024-01-01 開始,並依步進所能延伸的範圍執行;實際的數量與結束日期行為取決於工具本身。

步進效果從 2024-01-01 起的前幾個項目
1每個符合資格的日曆日2024-01-01, 2024-01-02, 2024-01-03, 2024-01-04
7每週節奏,相同的星期2024-01-01, 2024-01-08, 2024-01-15, 2024-01-22
14雙週節奏2024-01-01, 2024-01-15, 2024-01-29, 2024-02-12
30大致每月,固定日期間隔2024-01-01, 2024-01-31, 2024-03-01, 2024-03-31

若要進行實際驗證,請從 2024-01-01 起以步進 7 執行,結束日期設為 2024-01-22。序數差為 21,除以 7 為 3,加上包含起點的項目,總共得到 4 個日期:2024-01-01、2024-01-08、2024-01-15、2024-01-22。由於 21 剛好為 7 的倍數,結束日期會被納入,摘要中也會回報此條件。

值得牢記的邊界規則

有幾項限制會默默決定請求是否能產生輸出。在規劃大規模執行時,請將下列事項牢記在心。

  • 閏年規則:能被 4 整除的年份為閏年,除非它能被 100 整除,而能被 400 整除的年份仍為閏年。2000-02-29 為有效日期;1900-02-29 則會被拒絕。
  • 真實月份長度:一月有 31 天,四月有 30 天,二月則有 28 或 29 天。不可能存在的日期(例如 2024-04-31)會直接遭到拒絕;絕不會將 4 月 31 日悄悄滾動為 5 月 1 日。
  • 10,000 列預算:產生器會在配置前,先以 floor((endOrdinal − startOrdinal) / step) + 1 計算出精確的結果數量。請求 10,001 列或更多時,將以計算後的數量失敗,並且不回傳部分清單。
  • 結束日期的納入:開始日期必定會存在。只有當步進剛好落在結束日期時,結束日期才會出現;結果摘要會回報此條件,讀者無需猜測。
  • 步進從原始開始日期起算:間隔會反覆加到開始日期上,絕不會對齊到月份邊界。從 2024-01-30 開始、步進為 2 時,會得到 2024-01-30、2024-02-01、2024-02-03,依此類推,且能正確跨越 2 月 29 日。

輸出格式與複製行為

無論步進或所選標籤為何,每次成功執行都會產生相同格式的輸出。每列為單一的 YYYY-MM-DD 格式日曆日期,可選擇性地接上星期名稱。文字為純 ASCII,因此可以乾淨地貼入試算表、排程草稿、測試固定資料、內容規劃或其他本地工具中,無需任何跳脫處理。新增星期名稱僅會變更顯示的行內容,不會影響序列或數量。剪貼簿只有在按下複製按鈕時才會被存取;若權限遭到拒絕,仍可手動選取唯讀區域中的可見文字,並使用標準鍵盤快速鍵複製。所有處理都會保留在目前的瀏覽器分頁中,因此不會上傳或儲存任何日期範圍。

本工具不適合使用的情境

日期清單產生器的設計刻意保持範圍狹窄。它並非約會排程器、工作日計算器、假日日曆、週期引擎或時區轉換器,也不會知道營業時間、市場盤中時段、宗教曆、學校行事曆、區域假日、閏秒或使用者位置。它沒有略過週末、沒有假日過濾、沒有工作日推算,也沒有以月或年為單位的步進,因為這些單位對於 1 月 31 日或 2 月 29 日這類日期需要獨立的溢位處理原則。每日清單並不代表清單中的每一天都實際運作。在匯入之前,請依目的系統的規則檢視序列,特別是涉及截止日、薪資、出差、財務或法律義務時。若需進行日曆月或日曆年的算術運算,請改用日期加減計算器;若需在範圍內隨機取樣,請使用隨機日期產生器;若需將產生的序列以精確步進間隔移入 Excel,請參考 Excel 步進間隔操作指南