隨機日期產生器最多可產生 1,000 個均勻取樣的行事曆日期,且所有作業都在您的瀏覽器中完成。
設定包含起點與終點的日期範圍,選擇 1 到 1,000 之間的數量,並決定是否允許重複。結果採用 YYYY-MM-DD 格式,且無論選取的範圍或產生的清單都不會上傳至 Lizely。

從瀏覽器式工作流程開始
進行一般工具用途時,請開啟隨機日期產生器。選擇兩個日期,輸入結果數量,設定重複選項,然後產生。計算完全在您的瀏覽器中執行,且無論選取的日期範圍或產生的清單都不會上傳至 Lizely。
輸出刻意僅限於民用行事曆日期。因此,它適合用於只需要日期值的樣本資料、提示與示範。它不會加入一天中的時間或時區偏移,也不會執行排程、法律或工作日判定。
四個步驟產生日期清單
當範圍與選取數量已知時,請使用此工作流程:
- 以嚴格的 YYYY-MM-DD 格式輸入起點與終點日期。起點不得晚於終點,且兩個端點都包含在選取池中。
- 輸入 1 到 1,000 之間的數量,並選擇同一日期是否可出現多次。重複設定會決定清單的取樣方式。
- 選取產生。工具會抽取要求的日期,並以穩定的 YYYY-MM-DD 格式顯示為清單。
- 確認顯示的範圍與數量,然後複製或記錄您需要的值。檢查每個日期都位於選定的端點之間,且清單包含要求的結果數量。
編輯任一端點、變更數量或切換重複模式,都會清除舊清單與先前的錯誤。這可避免先前設定所得的結果仍留在畫面上,看起來像是符合目前的控制項。若數量為空白、非整數、零、負數或大於 1,000,系統會顯示明確的允許範圍錯誤,而不會產生遭截斷的清單。
為抽選選擇重複規則
重複設定會改變選取方法,而不僅僅是顯示方式。請依據任務是否接受重複日期來選擇。
| 設定 | 選取方法 | 預期結果 | 限制 |
|---|---|---|---|
| 允許重複 | 每次要求的抽選均從完整且包含端點的範圍中獨立取樣。 | 同一日期可出現多次。 | 支援 1 到 1,000 的數量,包括從一天範圍中取出的重複日期。 |
| 停用重複 | 透過稀疏的部分 Fisher-Yates 選取法,在不重複的情況下抽取日期。 | 每次執行中,每個傳回的日期都不相同。 | 數量不得超過符合資格的日期數;要求的數量過大時會產生錯誤。 |
一天的範圍是有效的,且一律會傳回該日期。如果要求的清單需要該日期出現多次,就必須啟用重複模式。停用重複時,工具絕不會以傳回少於要求數量的日期來回應,也不會在未告知的情況下允許重複。
均勻取樣表示每個符合資格的日期都有相同的選取機會。這不保證某次特定執行結果看起來均勻分佈,而啟用重複的抽選確實可能重複日期或集中在某個日期附近。
僅接受有效的行事曆日期
產生器接受從 0001-01-01 到 9999-12-31 的嚴格 YYYY-MM-DD 民用日期。無效輸入會予以回報,而不會在未告知的情況下自動修正。0001 到 0099 年仍保留為字面年份,不會轉換到二十世紀。
閏日驗證遵循ECMAScript Date 物件實作的格里曆利行為。2 月 29 日對 2000 年與 2024 年有效,但對 1900 年或 2023 年無效。月份與日期溢位也會被拒絕:例如 2025-04-31 這樣的輸入,不允許在未告知的情況下自動延續至 5 月。
起點日期不得晚於終點日期。這些檢查會在取樣前進行,因此無效的範圍或數量不會產生部分結果。輸入有效後,兩個端點仍都可被選取。
在時鐘變更時保持日期穩定
產生器會將每個日期視為 UTC 行事曆日的序數,而非本地午夜加上固定的小時數。嚴格日期的驗證方式,是在 UTC Date 物件上設定年、月、日,再讀回各個組成部分。其 UTC 毫秒值接著會精確除以 86,400,000,以取得相對於 1970-01-01 的整數日位置。
取樣會在這些整數位置上進行,選取的位置則使用 UTC getter 格式化回去。這可避免常見的日光節約時間錯誤:增加 24 個本地小時後,結果落在 23:00 或 01:00、略過一個顯示日期,或在時鐘切換附近重複某個日期。
最終清單仍僅包含日期。除了用來保留各行事曆日的內部 UTC 方法外,不含任何一天中的時間或時區偏移。
讓選取公平且透明
隨機性來自瀏覽器的Web Crypto getRandomValues 方法,其提供無符號的 32 位元字。工具不會使用 Math.random()。
當範圍大小無法整除 2^32 時,直接套用原始模運算可能讓某些日期多出一個可能的來源值。為了消除這種模運算偏差,工具會使用拒絕取樣:僅接受大小為可用日期數之精確倍數的最大前導區間,然後套用模運算。因此,每個獲接受的日期位置都有相同數量的底層 32 位元值。
在無重複模式中,稀疏的部分 Fisher-Yates 選取法會移除先前選取的位置,而不必為數百萬天範圍中的每一天配置陣列。有界安全防護會在隨機來源反覆提供遭拒絕尾端的值時,回報該來源失敗。
此介面刻意不提供 Web Crypto 路徑的種子設定功能。若要進行可重現的軟體測試,請儲存所得日期,或使用您自己的具種子的測試產生器。機率相等也不表示某次特定隨機執行結果會呈現均勻分佈。
使用結果前先檢查限制
產生的日期很適合用於測試資料、撰寫提示、範例排程、隨機練習、示範及其他非權威資料。它們不是預測、預約、法律期限計算、工作日行事曆、假日行事曆、時區轉換器或時間戳記產生器。
產生器也不會自動套用下列排程限制:
- 週末與公共假日
- 歷史行事曆切換
- 不可預約的日期
- 特定組織的停用日期
在實際流程中使用產生的日期前,請另外檢查這些限制。行事曆上有效的日期,仍可能不適合特定排程、服務或政策。
如果選取結果涉及財務、法律競賽、安全或稽核影響,請使用具有獨立監督並保留證據的已記錄程序。此瀏覽器工具可為一般工具用途提供謹慎且無偏的取樣,但它並非經過認證的隨機抽選服務。
若要深入了解,請參閱Android 上的隨機 IP 產生器:瀏覽器工作流程。
若要深入了解,請參閱隨機字母產生器:免費,無需註冊。