Cron表达式解析

把Cron表达式翻译成中文说明,并推算未来若干次的执行时间,支持五位与六位格式

Cron 表达式

解析结果

每天 每小时 每 5 分 执行
字段原始值取值范围命中的值
分*/50-590、5、10、15、20、25、30、35、40、45、50、55
时*0-23全部(24 个取值)
日*1-31全部(31 个取值)
月*1-12全部(12 个取值)
周*0-7(0 与 7 都表示周日)周日、周一、周二、周三、周四、周五、周六

未来 10 次执行时间

#时间星期距起算时间
12026-11-12 00:25:00周四2 分 24 秒
22026-11-12 00:30:00周四7 分 24 秒
32026-11-12 00:35:00周四12 分 24 秒
42026-11-12 00:40:00周四17 分 24 秒
52026-11-12 00:45:00周四22 分 24 秒
62026-11-12 00:50:00周四27 分 24 秒
72026-11-12 00:55:00周四32 分 24 秒
82026-11-12 01:00:00周四37 分 24 秒
92026-11-12 01:05:00周四42 分 24 秒
102026-11-12 01:10:00周四47 分 24 秒
  • 时间按浏览器本机时区(UTC+8)计算;服务器时区不同会导致实际执行时间不同。
  • 标准 crontab 只有 5 位(分 时 日 月 周);Spring、Quartz 使用 6 位(秒在最前),本工具两种都支持。
  • 不支持 L(最后一天)、W(最近工作日)、#(第几个星期几)等 Quartz 扩展语法,遇到会直接报错而不是给出错误结果。

功能介绍

Cron表达式解析同时支持标准的五位格式(分 时 日 月 周)与Quartz、Spring常用的六位格式(秒 分 时 日 月 周)。字段解析支持通配符星号、步长、区间、列表以及组合写法,还支持JAN-DEC与SUN-SAT的英文名称和问号占位符;遇到L、W、井号等Quartz专有语法会明确报错而不是给出错误结果。解析结果分两部分:一是逐字段的中文描述,把表达式读成"每天凌晨3点15分执行"这样的自然语言;二是从当前时间起向后推算的未来N次执行时间。推算采用按天筛选再展开时分秒的方式,先判断月份、日期、星期是否命中,再枚举命中日内的时刻,搜索窗口覆盖未来数年。当日期字段与星期字段同时被限制时,两者是"或"关系而不是"且",这个反直觉的规则工具会单独给出提示。

使用说明

1. 选择五位或六位格式,把表达式粘贴到输入框;2. 上方立即显示每个字段的解析结果与整条表达式的中文描述;3. 下方列出未来若干次执行时间,可调整显示条数;4. 点击常用示例可快速载入每分钟、每小时、每天凌晨、每周一、每月1号等典型写法;5. 表达式非法时会指出是哪个字段、超出了什么范围;6. 注意日期与星期同时指定时是"或"关系,例如"1号或周一"都会触发,这通常不是你想要的,建议其中一个留空;7. 服务器时区与浏览器时区可能不同,线上实际触发时间请以服务器时区为准。