这个工具是什么
Cron 表达式解析工具把 0 9 * * 1-5 这样的五段表达式拆开,逐段说明它代表什么,并算出接下来会执行的具体时间。写完定时任务不放心时,先在这里过一遍。
什么时候用它
- 写完 crontab 拿来核对:
*/5到底是每 5 分钟,还是每分钟的第 5 秒。 - 排查定时任务没跑的问题,先确认这个表达式在当前时间点本来会不会触发。
- 确认「工作日 9 点」这类条件写得对不对,看列出来的时间是不是只有周一到周五。
- 接手别人留下的表达式时,快速看懂它想表达什么。
有什么限制
- 只解析标准五段格式(分 时 日 月 周)。Quartz 那种带秒的六段表达式需要先去掉第一段秒。
- 不支持
@daily、@reboot这类别名写法,也不支持?、L、W、#这些扩展符号。 - 不推算年份。有些系统支持第七段年份,这里按不支持处理。
- 执行时间按你本地时区算。服务器时区不同的话,实际执行时间和这里显示的会差几个小时。
- 推算窗口约 8 年。只有超出这个范围才会命中的表达式会提示找不到,不会一直算下去。
常见问题
Q:日和周都写了值时,是同时满足还是满足一个就行?
A:满足一个就行。0 0 1 * 1 表示每月 1 号或每周一。只写其中一个时按常规处理。
Q:能帮我改服务器上的 crontab 吗? A:不能。它只做解析和推算,不连接任何服务器,也不会执行命令。
Q:0 和 7 都表示周日吗? A:是的,两个都按周日处理,填哪个结果一样。