它能解决什么问题
Cron 表达式虽然只有 5 段,但写法多。本工具帮你:
- 看懂别人的 cron:粘贴一段同事写的 cron,立刻看到它什么时候跑。
- 校验语法:错误的
*/61、越界的月份、忘记写字段都会被立刻标红。 - 下次执行时间:避免"我以为它会跑"的尴尬,特别适合定时任务上线前的最后一刻。
Cron 语法速查
| 位置 | 字段 | 允许值 | 特殊字符 |
|---|---|---|---|
| 1 | 分钟 | 0-59 | * / , - |
| 2 | 小时 | 0-23 | * / , - |
| 3 | 日(天) | 1-31 | * / , - |
| 4 | 月 | 1-12 或 JAN-DEC | * / , - |
| 5 | 星期 | 0-6 (Sun=0) 或 SUN-SAT | * / , - |
使用技巧
- 日和星期是 OR 关系:
0 0 1 * 1会在每月 1 日 或 每周一 0 点跑(不是 AND)。要严格限定请用一个字段加...。 - 时区:cron 服务端的时区决定了真实执行时间。本工具用浏览器本地时区显示,记得核对服务器配置(一般 UTC)。
- 不支持
L W # ?:本工具是标准 5 段 cron。Quartz、Kubernetes CronJob 的扩展语法不识别,会按字面值报错或跳过。 - 分钟粒度:Linux cron 的最小粒度是分钟。如果你需要秒级,
croniter等库支持秒字段(6 段)。
FAQ
为什么"日"和"星期"同时写了等于 OR?
这是 Vixie cron 的标准行为。要"每个月 1 日且是周一",目前只能拆成多条 cron 或者写脚本。
预测时间和实际不同怎么办?
检查服务端的时区设置:很多 Linux 默认 UTC,但很多人配置成了本地时间。本工具显示的"未来 10 次"基于浏览器时区。