預設模式
每分鐘執行一次,對應表達式為 * * * * *,適合監控、心跳上報等高頻任務。
常用範本
按一下即載入產生器並顯示描述Cron 表達式
* * * * *
格式為「分鐘 小時 日 月 星期」;星期 0/7 都表示週日。也可以用 JAN-DEC、SUN-SAT 這類英文縮寫。
下次執行時間
按所選時區,最多列出接下來 10 次
觸發時刻按所選時區的鐘面時間計算(夏令時自動處理);cron 表達式本身不帶時區,部署後以伺服器時區為準。輸出格式為「分鐘 小時 日 月 星期」。
(表達式無效,暫無可用時間)
貼上解析
把現成的 cron 表達式貼進來查看含意;點「套用到產生器」可回填到上方視覺化面板功能特性
- 六種預設一步到位:每分鐘、每小時、每天、每周、每月,選完即出表達式,無需記憶字段順序。
- 自訂模式按 分鐘/小時/日/月/星期 五個欄位逐項構建,支援 *、步長 */n、區間 a-b、列表 a,b,c 及英文縮寫 MON/JAN 等寫法。
- 實時校驗:每個字段越界或語法錯誤立即標出,表達式下方同步給出任務含義的中文描述。
- 下次執行時間預覽:按本地時區列出接下來 10 次觸發時刻,直接確認計劃是否符合預期。
- 一鍵複製表達式;常用配置保存在瀏覽器本地,下次打開自動恢復。
- 純前端本地計算:不發送任何數據到伺服器,界面支持簡體 / 繁體 / English。
使用方法
- 先選預設:每天 08:30 → 選「每天」,小時選 8,分鐘選 30,底部即出表達式 30 8 * * *。
- 每周 一至周五 09:00 → 選「每周」,點選星期 一~五,小時選 9,分鐘選 0,得到 0 9 * * 1-5。
- 需要任意間隔(如每 10 分鐘、凌晨 2 點開始每 3 小時)時切到「自定義」,把對應字段設為步長 */10、2-23/3 即可。
- 確認「下次執行時間」列表中的時刻符合預期後點「複製」,把表達式粘到 crontab / Quartz / 雲函數等調度器里。
常見問題
- 五個字段分別代表什麼?
- 依次是 分鐘(0-59)、小時(0-23)、日(1-31)、月(1-12)、星期(0-7,0 與 7 都代表周日)。Linux crontab 與 Quartz 都採用這個順序;注意 Quartz 還支持第 6 個「秒」字段,本工具生成的是標準 5 字段表達式,需要秒級調度時可在後面補上 0 或 *。
- 步長 */5 和範圍 10-20 是怎麼寫的?
- */n 表示「從允許的最小值開始,每隔 n 個單位取一個」(*/5 即 0,5,10,…,55);a-b 表示閉區間內每個值都取;a-b/n 表示從 a 開始每隔 n 個取到 b。多個寫法可用逗號組合,如 0,15,30,45 或 1-5,10-20。用「自訂」模式的按鈕即可生成,無需手寫。
- 日與星期同時限制時怎麼生效?
- 在標準 5 字段 cron 里,日與星期遵循傳統 Vixie 語義:兩個字段都是 * 時每天匹配;其中一個是 *,則只按另一個字段限制;只有兩個字段都有限制時才是「或」的關係(任一匹配即觸發)。例如 0 12 13 * 5 表示「每月 13 日 12:00」與「每周五 12:00」都會執行,而 0 12 * * 5 只在周五執行。若你期望「且」關係(如每月 13 日且恰好是周五),需要在程序里自行判斷,或用 Quartz 的 ? 語法——本工具按傳統 crontab 語義解析。
- 下次執行時間是按什麼時區算的?
- 按你設備當前的本地時區計算。cron 表達式本身不攜帶時區信息,部署到伺服器後實際生效時區由該伺服器的 TZ 環境決定,跨時區部署時請以伺服器時區為準重新核對觸發時刻。
- 我的表達式或配置會被上傳嗎?
- 不會。表達式解析、校驗、描述生成與時間計算全部在瀏覽器內完成,本頁是純靜態頁面、沒有任何後端接口,配置只保存在你自己設備的 localStorage 里以便下次恢復,本站伺服器看不到任何輸入。
關於本工具
Cron 表達式產生器把常見的定時任務需求做成視覺化面板:預設覆蓋 分鐘/小時/天/週/月 五種粒度,自訂模式支援 *、步長、範圍、列表與英文縮寫,產生的同時給出人話描述與接下來 10 次觸發時間,避免「表達式寫對了但觸發時刻不是想要的」這類問題。
全套邏輯為瀏覽器端 JavaScript 實現(標準 5 字段語義,日/星期按傳統 crontab 的「或」關係處理),無後端、無第三方 API,界面支持簡體 / 繁體 / English。
站內其他工具
純前端計算 · 標準 5 欄位 cron · 免費 · 支援中/繁/英