跳到主要内容

Cron 表达式解析工具

解析 crontab 五段表达式,逐段说明含义并列出接下来的执行时间。

字段写法含义
分钟0仅 0 分
小时9仅 9 点
*每日
*每月
星期1-5周一、周二、周三、周四、周五

接下来的执行时间

  1. 12026-09-23 09:0010 小时 13 分钟后
  2. 22026-09-24 09:001 天 10 小时后
  3. 32026-09-25 09:002 天 10 小时后
  4. 42026-09-28 09:005 天 10 小时后
  5. 52026-09-29 09:006 天 10 小时后
  6. 62026-09-30 09:007 天 10 小时后
  7. 72026-10-01 09:008 天 10 小时后
  8. 82026-10-02 09:009 天 10 小时后

「日」和「周」同时写了具体值时按「或」处理,只写一个时按「与」处理。

表达式按服务器时区执行,换时区要一并调整,别只看本机时间。

带秒的 6 段写法(如 Quartz)不在这里解析,请先去掉第一段秒。

这个工具是什么

Cron 表达式解析工具把 0 9 * * 1-5 这样的五段表达式拆开,逐段说明它代表什么,并算出接下来会执行的具体时间。写完定时任务不放心时,先在这里过一遍。

什么时候用它

  1. 写完 crontab 拿来核对:*/5 到底是每 5 分钟,还是每分钟的第 5 秒。
  2. 排查定时任务没跑的问题,先确认这个表达式在当前时间点本来会不会触发。
  3. 确认「工作日 9 点」这类条件写得对不对,看列出来的时间是不是只有周一到周五。
  4. 接手别人留下的表达式时,快速看懂它想表达什么。

有什么限制

  • 只解析标准五段格式(分 时 日 月 周)。Quartz 那种带秒的六段表达式需要先去掉第一段秒。
  • 不支持 @daily@reboot 这类别名写法,也不支持 ?LW# 这些扩展符号。
  • 不推算年份。有些系统支持第七段年份,这里按不支持处理。
  • 执行时间按你本地时区算。服务器时区不同的话,实际执行时间和这里显示的会差几个小时。
  • 推算窗口约 8 年。只有超出这个范围才会命中的表达式会提示找不到,不会一直算下去。

常见问题

Q:日和周都写了值时,是同时满足还是满足一个就行? A:满足一个就行。0 0 1 * 1 表示每月 1 号或每周一。只写其中一个时按常规处理。

Q:能帮我改服务器上的 crontab 吗? A:不能。它只做解析和推算,不连接任何服务器,也不会执行命令。

Q:0 和 7 都表示周日吗? A:是的,两个都按周日处理,填哪个结果一样。

相关工具

同类或常用搭配,接着往下做