免费 Cron 表达式解析器
这款免费的 cron 表达式解析器能在你输入时,把 0 9 * * 1-5 这样的计划转换成通俗易懂的语言。支持 5、6、7 个字段、星期和月份名称,以及 L、W 和 #。
运行时间:At 09:00 AM, Monday through Friday
常用预设
如何解析 Cron 表达式
输入 cron 表达式。
在输入框中键入或粘贴,或者点一下八个预设之一。标准是五个字段,6 字段和 7 字段的形式同样适用。
阅读通俗说明。
输入框下方的描述会随着输入实时更新。出现红色提示,表示某个值超出范围,或者不是有效的 cron。
读完说明后复制。
红色提示会标出超出范围的值。点击复制,即可把表达式放入剪贴板,直接用于 crontab、CI 工作流文件或云端调度器。
常见问题
关于 cron 语法、特殊字符、时区和运行时间的解答。
什么是 cron 表达式?
cron 表达式是由 5 个字段组成的一行文本,用来设定重复执行的计划:分钟 (0-59)、小时 (0-23)、每月的日 (1-31)、月 (1-12) 和每周的星期 (0-7,其中 0 和 7 都是星期日)。例如,0 9 * * 1-5 表示工作日上午 9 点。
cron 中的 *、/、- 和 , 分别是什么意思?
星号表示每个值,逗号用来列出多个值 (1,15),短横线表示范围 (9-17),斜杠表示步长 (*/15 是每 15 分钟)。它们可以组合使用,例如 0 9-17/2 * * 1-5 表示工作日从上午 9 点到下午 5 点每两小时一次。
如何写一个每 5 分钟运行一次的 cron 任务?
使用 */5 * * * *。分钟字段中的 */5 表示从 :00 开始每隔五分钟,后面四个星号表示每小时、每天、每月和每个星期。如果要每 15 分钟一次,请使用 */15 * * * *,这也是本页面的预设之一。
5 字段和 6 字段的 cron 有什么区别?
传统的 Unix crontab 使用 5 个字段。Quartz、Spring 和一些 Node 库会在最前面增加秒字段,AWS EventBridge 则在末尾增加年字段。这个解析器可以解释 5、6 和 7 个字段,但只会为 5 字段形式列出接下来的运行时间。
@daily、@weekly 和 @reboot 是什么意思?
它们是 crontab 的快捷写法。@hourly 等于 0 * * * *,@daily 等于 0 0 * * *,@weekly 等于 0 0 * * 0,@monthly 等于 0 0 1 * *,@reboot 则在服务器启动时运行一次。解析器会解释它们,但只会为 5 字段形式显示接下来的运行时间。
cron 表达式里可以使用 L、W、# 和 ? 吗?
传统 crontab 不支持这些符号,但 Quartz 和许多云端调度器支持。L 表示最后一个(0 0 L * * 是每月最后一天),W 表示最近的工作日,# 表示当月第几个星期几(1#2 是第二个星期一),? 表示不指定具体值。解析器会解释这四种符号。
为什么我的 Quartz 表达式显示的星期不对?
解析器按 Unix 的方式读取星期数字:0 或 7 是星期日,6 是星期六。Quartz 则从 1(星期日)数到 7(星期六),所以它的数字在这里会差一天。请改用 MON-FRI 或 SAT 这样的星期名称,避免混淆。
为什么我的 cron 任务没有在预期时间运行?
最常见的原因是时区:cron 使用服务器所在的时区,而本页面按你自己的本地时间列出运行时间。另外,当日期和星期两个字段都设置了值时,cron 只要满足其中一个就会运行,所以 0 0 13 * 5 会在每月 13 日和每个星期五都触发。
为什么解析器提示我的表达式无效?
每个字段都有取值范围:分钟 0-59,小时 0-23,日 1-31,月 1-12,星期 0-7。超出范围的值、多余的字母、少于 5 个或多于 7 个字段,都会让结果变红。请只粘贴时间字段,不要带上命令或 cron( ) 外层包装。
接下来的运行时间使用哪个时区?
它们使用你浏览器的时区和日期格式,从下一个整分钟开始。页面没有时区选择器,所以如果你的服务器使用 UTC,请按你的时差自行换算时间。
这个 cron 解析器免费且保护隐私吗?
是的,它免费,无需账号,也没有使用次数限制,表达式不会被保存。在线上站点,Google Analytics 会统计每次编辑。当表达式解析失败时,错误文本会随该统计一起发送,其中可能引用有问题的值,例如命令名称。
这款 Cron 表达式解析器能做什么
它用通俗易懂的语言解释每个表达式,标出超出范围的值,列出接下来的运行时间,并提供八个预设供你快速上手。

把 Cron 表达式翻译成通俗语言
输入或粘贴表达式,描述会随着输入实时更新,例如「At 09:00 AM, Monday through Friday」。支持 5、6、7 个字段、星期和月份名称、L、W 和 #。
- 每次按键都会实时更新
- 也能读取秒和年字段
- 支持 L、W、# 和 ?

预览接下来的 Cron 运行时间
对于 5 字段表达式,页面会按你浏览器的时区,从下一分钟开始列出 5 个即将执行的时间。日期和星期遵循标准 cron 规则,因此 0 9 * * 1-5 只会列出工作日。
- 从下一分钟起的接下来 5 次运行
- 按你的本地时区显示
- 支持 5 字段表达式的预览
八个一键预设
点一下标签即可填入输入框。八个预设涵盖每分钟、每 15 分钟、每小时、午夜、正午、每周一上午 9 点、每周日午夜以及每月 1 日。
检查超出范围的值
分钟为 60、小时为 25、日为 32、月为 13,或者多出一个字母,结果都会变红,让你在错误进入 crontab 之前就发现笔误。
复制表达式
点击复制按钮,就会把输入框中的原表达式放入剪贴板,可直接粘贴到 crontab、CI 工作流文件或云端调度器中。
免费,无需注册
想用多少次都行,无需账号。表达式不会被保存。在线上站点,Google Analytics 会统计每次编辑,解析失败时还会一并发送错误文本。
Cron 解析器使用场景
无论 cron 语法出现在哪里,上线前都可以先读懂计划并检查接下来的运行时间。
服务器 Cron 任务
粘贴 Linux crontab 中的五个时间字段,在把任务添加到服务器之前,先看懂它会做什么。请不要带上后面的命令。
- 读懂备份和日志轮转计划
- 发现超出范围的分钟或小时
- 任务上线前先确认它在哪些日子运行
CI/CD 流水线
GitHub Actions 和 GitLab CI 的计划任务使用标准的 5 字段 cron。提交工作流文件之前,先在这里读懂表达式,并留意运行器使用的是哪个时区。
- GitHub Actions 工作流文件中的 cron 行
- GitLab CI 流水线计划的间隔模式
- 记住 GitHub Actions 的计划任务按 UTC 运行
云调度器
Quartz、Spring 和云端调度器会增加秒或年字段,并用 ? 表示日。粘贴表达式时不要带 cron( ) 外层包装,即可读到通俗易懂的说明。
- EventBridge 六字段规则,例如 0 12 * * ? *
- 秒在最前面的 Quartz 和 Spring 表达式
- MON-FRI 和 JAN 这样的星期、月份名称