日期清單產生器會在兩個嚴格的 YYYY-MM-DD 端點之間,產生一條確定性的、每行一筆的日曆日期清單,套用 1 到 366 之間的整數日步進,並設有 10,000 列的硬性上限。每一筆資料都會被視為「無時區的普羅雷普提克格里高利曆」上的日曆日期——這與 HTML 日期值和 ISO 行事曆日期所使用的模型相同——因此日期絕不會因為瀏覽器執行於其他時區而向前或向後偏移。本工具不會解析時間戳記、不會經由 Unix 時間換算、不會抽樣列、不會跳過週末,也不會插入省略號。您輸入開始日期、結束日期與步進,產生器便會回傳完整且包含起點的序列,只有當步進恰好落在結束日時,才會將結束日納入。每一行可選擇附加固定英文的星期名稱,輸出為純文字,一鍵即可複製到剪貼簿。所有解析、計算、格式化與複製作業都在當前的瀏覽器分頁中執行,因此不會上傳或儲存任何日期範圍。請試用 日期清單產生器,直接在您的瀏覽器中完成這項工作。

參數一覽
速查表的好壞取決於輸入項目的精簡摘要。日期清單產生器僅接受四個控制項,且每一項都有一條必須在請求執行前成立的硬性規則。可接受格式為嚴格的四位數年份、兩位數月份、兩位數日期,這與 WHATWG HTML 日期標準中 input[type=date] 值所使用的格式相同。
| 輸入 | 格式 / 類型 | 允許範圍 | 驗證規則 |
|---|---|---|---|
| 開始日期 | YYYY-MM-DD | 0001-01-01 至 9999-12-31 | 依據真實月份長度並套用 4-100-400 年規則 |
| 結束日期 | YYYY-MM-DD | 與開始日期相同或更晚 | 若早於開始日期則予以拒絕 |
| 日步進 | 整數 | 1 至 366(包含) | 整數;自原始開始日期套用,而非依月份邊界 |
| 星期名稱 | 可切換選項 | 週一至週日 | 依 ISO 星期順序使用固定英文標籤 |
任何不符合上述規則的值都會在建立序列之前遭到拒絕,因此結果文字區只會顯示有效輸出,或完全不顯示任何內容。
如何僅用三項輸入產生日期清單
完整的工作流程僅需三個輸入框與一次按鈕點擊。請依照下列步驟操作,即可取得完整、可直接複製的序列。
- 選擇開始日期,並以嚴格的 YYYY-MM-DD 格式輸入,年份須為介於 0001 與 9999 之間的四位數。請使用真實的日曆日期;驗證器會依據每個月的實際長度,並在建立序列之前套用閏年規則。
- 以相同格式選擇結束日期,不得早於開始日期。若結束日期早於開始日期,請求將會被拒絕,且不會產生部分輸出。
- 輸入介於 1 至 366 之間的整數日步進。使用 1 可產生每日清單,7 為每週序列,14 為雙週節奏,更大的數值則代表自訂間隔。非整數、零以及超過 366 的數值都會被拒絕。
- 若希望每行附加週一至週日的名稱,請切換「星期名稱」選項。這些標籤為固定英文字串,而非經由瀏覽器本地化的輸出。
- 按下「產生」按鈕,並讀結果摘要,該摘要會說明所選步進是否恰好落在結束日期上。此摘要為判斷包含與否的最終依據。
- 點擊「複製」,即可將每行一筆的文字內容送至剪貼簿。若瀏覽器封鎖剪貼簿存取權限,請手動選取唯讀區域內的文字,並使用鍵盤快捷鍵複製。
步進模式與其產生的序列
步進值決定了所有後續的決策,因此值得了解常見的步進值實際上會產生什麼結果。下列範例均從 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 這類不存在的日期會直接遭到拒絕;本工具絕不會信任瀏覽器將四月 31 日靜默地轉為五月 1 日。
- 10,000 列的預算上限: 產生器會在配置資源之前,先以 floor((結束序數 − 開始序數) / 步進) + 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 步進間隔操作指南。
若想進一步了解,請參閱不使用 T-SQL 在 SQL Server 中產生隨機日期。