速查表
符号、星期数字、四种格式的差别
特殊符号
| 符号 | 含义 | 例子 | 5 位 | Spring | Quartz |
* | 任意值,每一个 | */5 每 5 个单位 | ✓ | ✓ | ✓ |
, | 列出多个值 | 1,15 1 号和 15 号 | ✓ | ✓ | ✓ |
- | 范围(含两端) | 9-17 9 点到 17 点 | ✓ | ✓ | ✓ |
/ | 步长,从起点每隔 n 个 | 0/15 从 0 起每 15 个 | 建议写 */n | ✓ | ✓ |
? | 不指定,只用于「日」和「周」 | 0 0 12 ? * MON | ✗ | ✓ 等同 * | ✓ 必须二选一 |
L | 最后:日里是月末,周里是「数字+L」 | L 月末 6L 最后一个周五(Quartz) | ✗ | ✓ | ✓ |
W | 离某天最近的工作日 | 15W LW 月末最后一个工作日 | ✗ | ✓ | ✓ |
# | 本月第几个星期几 | 2#1 第 1 个周一(Quartz) | ✗ | ✓ | ✓ |
星期的数字,Quartz 和 Linux 不一样
| 星期 | 5 位 / Spring 数字 | Quartz 数字 | 英文缩写(都能用) |
| 周一 | 1 | 2 | MON |
| 周二 | 2 | 3 | TUE |
| 周三 | 3 | 4 | WED |
| 周四 | 4 | 5 | THU |
| 周五 | 5 | 6 | FRI |
| 周六 | 6 | 7 | SAT |
| 周日 | 0 或 7 | 1 | SUN |
四种格式对比
| 5 位 · 标准 | 6 位 · Spring | 6 位 · Quartz | 7 位 · Quartz |
| 字段顺序 | 分 时 日 月 周 | 秒 分 时 日 月 周 | 秒 分 时 日 月 周 | 秒 分 时 日 月 周 年 |
| 最小精度 | 分钟 | 秒 | 秒 | 秒 |
| 星期取值 | 0–7,0 和 7 是周日 | 0–7,0 和 7 是周日 | 1–7,1 是周日 | 1–7,1 是周日 |
| 日 与 周 同时写 | 「或」 | 「且」 | 必须有一个是 ? | 必须有一个是 ? |
| L / W / # | 不支持 | 支持 | 支持 | 支持 |
| 年 | 无 | 无 | 省略(等同每年) | 可写 1970–2099 |
| 常见场景 | crontab、Kubernetes、GitHub Actions | Spring @Scheduled | Quartz、XXL-JOB 等 | 要限定年份的 Quartz 任务 |