Cron 表达式解析

Cron 表达式
常用:

字段说明(从左到右)

字段 取值范围 允许的特殊字符
秒(可选) 0-59 * , - /
分钟 0-59 * , - /
小时 0-23 * , - /
1-31 * , - / L
1-12 或 JAN-DEC * , - /
星期 0-7 或 SUN-SAT(0 和 7 均为周日) * , - / L

5 位为标准 crontab 格式(分 时 日 月 周);6 位时第一位为秒。

特殊字符

* 匹配任意值,如分钟位的 * 表示每分钟
, 枚举多个值,如 1,15 表示 1 号和 15 号
- 范围,如 9-18 表示 9 点到 18 点
/ 步长,如 */5 表示每 5 个单位执行一次
L 最后,日位的 L 表示当月最后一天

使用说明

Cron 表达式是 Linux crontab、Spring、Kubernetes CronJob 等定时任务系统通用的时间规则语法,由 5 个(分 时 日 月 周)或 6 个(含秒)空格分隔的字段组成。本工具将表达式实时翻译为中文描述,并计算最近 10 次执行时间,帮助快速验证定时任务配置是否符合预期。

输入或点击常用表达式即可解析,支持 * , - / L 等特殊字符。解析在本地浏览器完成,表达式不会上传服务器。

常见问题

5 位和 6 位 Cron 表达式有什么区别?

Linux crontab 使用 5 位(分 时 日 月 周),最小精度为分钟;Spring、Quartz 等 Java 框架使用 6 位,第一位是秒。本工具根据字段数量自动识别两种格式。

「日」和「星期」同时指定时如何生效?

在标准 cron 中两者是「或」的关系:任一匹配即执行。例如 0 0 13 * 5 表示每月 13 号和每周五都执行,而不是只在 13 号的周五执行,这是最常见的误解之一。

为什么执行时间和服务器实际执行的差了几小时?

本工具按浏览器本地时区计算,而 crontab 按服务器系统时区执行。如果服务器使用 UTC 而你在东八区,看到的时间会相差 8 小时,部署前请确认服务器时区设置。

如何表达「每隔 N 分钟」?

用步长语法 */N,如 */15 * * * * 表示每 15 分钟执行一次。注意 */N 是从 0 开始按固定刻度切分(0、15、30、45 分),而不是从任务启动时刻起算。

相关工具