Cron 表達式生成器

可視化生成和解析 Cron 定時任務表達式

Cron 表达式
* * * ? * *
每秒钟执行
常用
字段设置
秒 (0-59)
分 (0-59)
时 (0-23)
日 (1-31)
月 (1-12)
周 (0-6)
最近 5 次执行时间
12026-05-04 21:55:00
22026-05-04 21:56:00
32026-05-04 21:57:00
42026-05-04 21:58:00
52026-05-04 21:59:00

什麼是 Cron 表達式?

Cron 表達式是一種用於配置定時任務的字符串,由 6 或 7 個字段組成,分別表示秒、分、時、日、月、周、年(可選)。每個字段使用特定字符來定義時間規則,廣泛應用於 Linux 系統和各種任務調度框架中。

語法說明

  • * 所有值
  • ? 不指定值(日/周)
  • - 范围,如 1-5
  • , 列举,如 1,3,5
  • / 间隔,如 0/15 每15单位
  • L 最后,如月的最后一天
  • W 工作日
  • # 第N个,如 2#3 第3个周二

常用示例

  • 0 0 12 * * ? 每天中午12点
  • 0 15 10 ? * * 每天上午10:15
  • 0 0/5 14 * * ? 每天14点每5分钟
  • 0 0 12 ? * WED 每周三中午12点
  • 0 0 12 1 * ? 每月1号中午12点
  • 0 15 10 15 * ? 每月15号上午10:15

常見問題 (FAQ)

Cron 表達式中 ? 和 * 有什麼區別?

* 表示「所有可能的值」,? 表示「不指定值」。日和周字段互斥,當指定了日字段的具體值時,周字段必須用 ?,反之亦然。

如何表示「每隔 N 個單位執行一次」?

使用斜槓 (/) 表示步長。例如:*/5 * * * * ? 表示每隔 5 分鐘執行一次;0 */2 * * * ? 表示每隔 2 小時執行一次。

Cron 表達式的時區是怎樣的?

Cron 表達式本身不包含時區信息,實際執行時間取決於系統時區。建議在服務器上統一設置時區,避免時間偏差。

5 位和 6/7 位 Cron 表達式有什麼區別?

傳統 Linux Cron 使用 5 位(分 時 日 月 周),而 Quartz 等框架使用 6 位(增加秒)或 7 位(增加年)。本工具支持 6-7 位格式。

如何表示「每月最後一個工作日」?

可以使用 LW 表示每月最後一個工作日,如:0 0 0 LW * ? 表示每月最後一個工作日的零點執行。