Cron 表达式解析
Cron 翻译成中文,并计算最近 5 次执行时间。
什么是 Cron 表达式?
Cron 是 Linux 定时任务(crontab)以及 Jenkins、云函数等平台通用的时间调度语法。标准表达式由 5 段组成,依次是「分 时 日 月 周」,例如 0 3 * * * 表示每天凌晨 3 点整执行;部分平台支持 6 段格式,在最前面加「秒」。每段支持星号(* 表示任意值)、列表(1,2,3)、区间(1-5)和步长(*/15)等写法。
本工具把表达式解析为两组结果:一是自然语言描述,例如「每天 03:15」「每周一至周五 09:00」「每月的 1 日和 15 日 06:30」,一眼就能看懂任务何时触发;二是以当前时间为起点、在未来 48 小时内逐分钟(带秒字段时逐秒)扫描得到的最近 5 次执行时间,方便核对调度是否符合预期。解析遵循标准 cron 语义:日与星期同时限制时取「或」关系,星期字段支持 0-7(0 和 7 都代表周日),月份与星期还支持英文缩写 JAN-DEC、SUN-SAT。
全部计算在浏览器本地完成,不发送任何数据。适用于排查 crontab 语法、为云函数配置调度、向同事解释一段 cron 表达式的含义等场景。
使用步骤
- 在输入框粘贴或手动输入 Cron 表达式(5 段或 6 段);
- 也可以直接点击「每天 0 点」「每 5 分钟」等示例按钮快速填入;
- 点击「解析」,得到中文描述与最近 5 次执行时间;
- 如需保存,点击「复制」拷贝完整结果。
常见问题
支持哪几种格式?
支持标准 5 段格式「分 时 日 月 周」和带秒的 6 段格式「秒 分 时 日 月 周」;字段支持 *、列表(1,2,3)、区间(1-5)和步长(*/15)写法,月份与星期还支持 JAN-DEC、SUN-SAT 英文缩写。
星期和日期同时限制时怎么匹配?
遵循标准 cron 语义:当日(第几号)和星期(周几)同时限制时,满足其中一个即算匹配(OR 关系);例如「0 0 1 * 1」表示每月 1 号或每周一零点执行。
下次执行时间是怎么算的?
以当前时间(精确到分钟或秒)为起点,逐分钟(带秒字段时逐秒)向后扫描 48 小时,取最近 5 个匹配时刻,完全在浏览器本地计算。
表达式不合法会怎样?
会给出中文错误提示,例如段数不对、数值超出范围(分钟 0-59、小时 0-23 等)或步长写法错误,不会产生错误结果。