Cron 表达式解释器
把任意 cron 表达式翻译成大白话:逐字段拆解、按你的时区显示接下来 5 次执行时间,常用预设一键填入。
输入或选择一个 cron 表达式即可查看解释。
支持:数字、范围(1-5)、列表(1,15)、步进(*/10、1-30/5)、月份名(JAN)与星期名(MON)。不支持 Quartz 扩展 L、W、#。
该工具完全在你的浏览器中运行,数据不会离开你的设备,不会上传到任何服务器。
使用方法
- 1输入 cron 表达式,或点击预设从可靠写法开始。
- 2阅读逐字段的通俗拆解。
- 3查看接下来 5 次执行时间,可在本地时间与 UTC 间切换。
- 4发现不符预期就回头修改 crontab、调度器配置或 CI 设置。
Cron 表达式解释器
cron 表达式用五六个天书般的字段决定任务何时运行——错一个字符,可能永远不触发,也可能每周日凌晨三点准时跑一遍。粘贴表达式后,本工具用平实的语言逐字段解释(分、时、日、月、周,有秒字段时一并解释),并给出接下来 5 次执行时间,让你确认计划确实按你以为的方式运行。
校验是诚实且内联的:超范围数值、方向反了的范围、不支持的 Quartz 扩展(L、W、#)都会得到具体友好的提示,而不是含糊其辞。每分钟、每小时、每天零点、工作日 9 点、每季度五个常用预设一键填入,可以直接当起点改。
常见问题
标准 cron 和 Quartz 语法有什么区别?
标准 Unix cron(也是本工具的口径)是 5 段:分、时、日、月、周;带秒时为 6 段。Quartz 默认多一个秒字段,还支持第 7 段年份,以及 L(最后一天)、W(最近工作日)、#(第 n 个星期几,如 MON#2)等扩展。这些 Quartz 专属扩展本工具不支持;数字、JAN/MON 等名称、范围、列表、步进等标准语法全部支持。
为什么算出的执行时间和服务器不一致?
cron 按服务器自身时区求值,而本工具可以在本地时间和 UTC 之间切换。如果你的电脑是 UTC+8、服务器是 UTC,“0 3 * * *”在两边会差 8 小时。夏令时切换也会让某些钟点提前或跳过——底层计算感知时区,会正确处理这些转换。
同时写了「日」和「星期」,为什么触发得比预期频繁?
经典 cron 对这两段取「或」:当两个字段都被限制(都不是 *)时,日期匹配任一条件就触发。“0 0 1 * MON”会在每月 1 号和每个周一都运行。想同时满足两个条件需要改写表达式——在这里看一眼接下来的执行时间,行为立刻现形。
相关工具
嵌入这个工具
一行代码把工具放到你的网站——它在访客的浏览器里运行。
<iframe src="https://zoyku.com/zh/tools/cron-explainer?embed=1" width="100%" height="640" style="border:0;border-radius:16px" title="Zoyku — cron-explainer" loading="lazy"></iframe>