Cron 表达式生成与解析

支持常见 5 段(分 时 日 月 周)与 6 段(秒 分 时 日 月 周)写法;解析结果为中文说明,便于对照文档与排错。

生成表达式

先选「快速预设」后,表达式会出现在本区域最下方输入框;也可勾选「含秒」后改各段,再点「生成表达式」。各段用空格分隔。

执行预览:点击上方「运行」后,在下方显示接下来 10 次触发时间;若生成结果为空,会回退读取解析区第一行表达式。

(点击上方「运行」后在此显示接下来 10 次触发时间)
解析含义

粘贴表达式后点「解析」;支持 5 / 6 / 7 段(7 段为带「年」的 Quartz)。

使用说明

字段顺序

  • 5 段(Linux)分 时 日 月 周,星期常用 0-6,部分系统也支持 7=周日
  • 6 段(Quartz)秒 分 时 日 月 周,常见场景是「日」与「周」二选一时另一侧写 ?
  • 7 段(Quartz):在 6 段末尾追加 ,用于限制触发年份范围。

特殊字符说明

  • *:该字段任意合法值。
  • ?:不指定值,仅建议用于 Quartz 的「日」或「周」。
  • ,:枚举值,如 10,30
  • -:范围值,如 10-30
  • /:步长值,如 0/153/10
  • L:最后(last),常见于「日」「周」字段。
  • W:离指定日期最近的工作日。
  • #:某月第 N 个星期几,如 6#3

常用示例

  • 0 0 12 * * ?:每天中午 12:00。
  • 0 0 8,14,16 * * ?:每天 8 点、14 点、16 点整。
  • 0 0/5 15 * * ?:每天下午 15 点起每 5 分钟一次。
  • 0 15 10 ? * WED:每周三 10:15。
  • 0 15 10 L * ?:每月最后一天 10:15。
  • 0 15 10 ? * 6#3:每月第 3 个星期六 10:15。
  • */15 * * * *(5 段):每 15 分钟一次。

说明:不同环境(Linux crontab、Quartz、Spring、K8s CronJob)在星期取值、扩展字符支持上可能略有差异;请以你的运行环境为准。