Cron 表达式在线生成与解析工具 (Cron Expression Parser)
输入标准 5 位(分 时 日 月 周)或 6 位(含秒)Cron 表达式,即时获得中文语义描述与未来 5 次执行时间。支持 *、*/n、区间、列表等全部常用语法,100% 浏览器本地计算。
Cron 五个字段速查
| 字段 | 允许值 | 允许的特殊字符 |
|---|---|---|
| 分钟 | 0-59 | * / - , |
| 小时 | 0-23 | * / - , |
| 日(月份中的天) | 1-31 | * / - , |
| 月 | 1-12 | * / - , |
| 星期(0 和 7 都表示周日) | 0-7 | * / - , |
常见问题解答 (FAQ)
Q: Cron 表达式 5 位和 7 位有什么区别?
A: Linux crontab 使用 5 位(分 时 日 月 周);Quartz 等 Java 调度框架常用 7 位(秒 分 时 日 月 周 年),并在日/周字段扩展了 L(最后)、W(最近工作日)、#(第 n 个周 x)等修饰符。DevHub 支持标准 5 位与含秒 6 位语法,Quartz 特有修饰符会明确提示暂不支持,避免给出错误结果。
Q: Cron 里的 ? 和 * 有什么区别?
A: 两者都表示"任意",但 ? 只能用在日和周字段,用于在另一个字段已被指定时避免歧义(如每月 1 号执行 0 0 1 * ?)。标准 Linux crontab 不支持 ?,那两个位置用 * 即可。
Q: Cron 任务用的是服务器时区还是 UTC?
A: cron 守护进程按服务器本地时区匹配字段。容器化部署的服务器常默认 UTC,导致任务比预期早 8 小时(东八区视角)。排查时先 date 确认服务器时区,或在容器中设置 TZ=Asia/Shanghai。本工具按你的浏览器本地时区计算下次执行时间。