OpenReplay Logo
12k
12k

Cron 表达式解析器

将任意 cron 表达式解析为通俗易懂的语言,预览接下来的执行时间,并逐字段构建调度计划——全部在你的浏览器中完成。

接下来 5 次运行
字段明细
构建表达式

常用预设

逐字段构建器

本地处理
* * * * *

关于此工具

cron 表达式是一种紧凑的调度字符串,被 Unix cron、Kubernetes CronJobs、CI 流水线以及大多数任务调度器使用。它包含五个以空格分隔的字段——分钟、小时、日、月和星期——并可在最前面附加一个可选的第六字段表示秒。每个字段都接受通配符(*)、单个值、列表(1,15,30)、范围(9-17)或步进(*/15、0-12/3),月份和星期字段还接受像 JAN 或 MON 这样的名称。本解析器将每个字段展开为具体的取值,解析 @yearly、@monthly、@weekly、@daily 和 @hourly 这些昵称,并将 7 与 0 一样视为星期日。

用它来确认一项部署任务是否真的在每个工作日上午 9 点触发,排查某个备份为何从不运行,或一眼读懂同事那条晦涩的 */15 9-17 * * 1-5。“接下来 5 次执行”面板会按你的本地时区或 UTC 计算即将到来的触发时间,在日和星期都受限时正确应用标准 cron 的 OR 规则,并为像 0 0 29 2 * 这样的调度干净利落地跨越闰年。构建器的预设以及按字段的 Every / At / Range / Step 控件会实时组合出一个有效的表达式,让你无需记忆语法即可编写调度计划。

仅限 Quartz 的扩展(L、W、# 和 ?)不属于标准 cron,会被以清晰的提示拒绝,而不会被错误地解析。

常见问题

cron 表达式 */15 9-17 * * 1-5 是什么意思?

它在周一至周五的 09:00 到 17:59 之间,每隔 15 分钟(在 :00、:15、:30 和 :45)运行一次。其中 */15 是分钟字段上的步进,9-17 是小时范围,1-5 涵盖周一至周五这些工作日。

在 cron 中,表示星期日的星期值是 0 还是 7?

在标准 cron 中,0 和 7 都表示星期日,因此 SUN、0 和 7 可以互换。星期字段从 0(星期日)到 6(星期六),而 7 被接受为星期日的别名。

当日和星期都被设定时,cron 如何处理?

当日字段和星期字段都受限(两者都不是 *)时,标准 cron 使用 OR 语义:只要其中任一字段匹配,任务就会运行。因此 0 0 13 * 5 会在每月 13 日以及每个星期五触发。