Cron 表达式生成器

可视化生成和解析 Cron 定时任务表达式

Cron 表达式
* * * ? * *
每秒钟执行
常用
字段设置
秒 (0-59)
分 (0-59)
时 (0-23)
日 (1-31)
月 (1-12)
周 (0-6)
最近 5 次执行时间
12026-05-04 21:57:00
22026-05-04 21:58:00
32026-05-04 21:59:00
42026-05-04 22:00:00
52026-05-04 22:01: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 * ? 表示每月最后一个工作日的零点执行。