onlinetools.dev

Cron 表达式解析

用通俗语言解释 Cron 计划,并列出接下来的运行时间

本地运行
loading…
关于此工具

粘贴一个五字段的 cron 表达式,得到通俗语言的解释、逐字段的拆解,以及——真正能抓住错误的部分——按你本地时区计算的接下来五次实际运行时间。「0 3 * * 1」读作「03:00,周一」,后面跟着它将触发的具体日期。

解析器支持完整的标准语法:列表(1,15)、范围(9-17)、步长(*/15)、月份和星期名(jan、mon)、7 表示周日,以及 @daily/@hourly 宏家族。它还实现了所有人都会忘的那条规则:当日期和星期同时受限时,任一匹配即运行,而不是同时满足。

六字段(Quartz,带秒)表达式会被检测并明确指出,而不是被悄悄误解——这是在 Java 调度器和 Unix crontab 之间迁移时「我的 cron 不对劲」最常见的困惑来源。

常见问题

五个字段按顺序是什么?
分(0–59)、时(0–23)、日(1–31)、月(1–12)、星期(0–6,周日为 0,7 也算周日)。记住顺序是永恒的难题——拆解面板会为你表达式的每个字段贴上标签。
为什么「0 0 1 * 1」比我预期运行得更频繁?
因为日期(1 号)和星期(周一)同时受限时,cron 在任一匹配时就运行——每月 1 号和每个周一都会跑。想表达「1 号且恰好是周一」,需要在脚本里自行检查日期。
下次运行时间用的是哪个时区?
你浏览器的本地时区,结果旁边会标明。真实的 crontab 按服务器时区运行(或某些 cron 的 TZ= 行)——务必确认目标机器用什么时区,尤其在夏令时切换前后。
支持秒或年吗?
不支持——那是 Quartz(Java)的 6 或 7 字段扩展。标准 Unix cron 恰好五个字段、一分钟精度。六字段输入会被识别并报告为 Quartz,而不是被误读。
相关工具