Cron 表达式解析器

解析 Cron 表达式,预览执行时间,可视化构建

每秒
每秒
范围
间隔
开始,每隔
指定

输入有效的 Cron 表达式以查看执行时间

Cron 语法说明

Cron 表达式由 5 ~ 7 个字段组成,以空格分隔。本工具支持标准 5 字段格式(Unix Cron)以及带秒和年的扩展格式(Quartz Cron)。

秒字段为 *时,表达式自动省略秒字段(显示 5 或 6 字段);当年字段为 *时,自动省略年字段,保持表达式简洁。

字段定义

字段必填允许值特殊字符说明
可选0 ~ 59省略时默认为 *
必填0 ~ 59每分钟的第几分执行
必填0 ~ 2324 小时制
必填1 ~ 31LWLW每月第几天
必填1 ~ 12月份,1 = 一月
必填0 ~ 6L#0 = 周日,1 = 周一
可选1970 ~ 2099省略时默认为 *

通配符说明

*

匹配任意值

表示该字段的每一个有效值都匹配,如分字段的 * 表示每分钟。

-

指定范围

1-5 表示 1、2、3、4、5。必须满足 起始 ≤ 结束。

,

指定多个值

1,3,5 表示 1、3、5 三个值,值的顺序不影响结果。

/

指定步长

0/5 表示从 0 开始每 5 个单位(0, 5, 10...)。*/5 等价于 0/5

特殊字符说明

L

最后 (Last)

日字段:表示月末最后一天。周字段:表示该星期最后一次出现,如 5L = 最后一个周五。

W

最近工作日

仅日字段。如 15W 表示离 15 号最近的工作日。若 15 号是周六则取周五 14 号,是周日则取周一 16 号。

LW

最后工作日

仅日字段。表示每月最后一个工作日(周一至周五)。

L-N

倒数第 N 天

仅日字段。如 L-3 表示月末倒数第 3 天。

#

第 N 个星期 X

仅周字段。格式 X#N,如 1#3 = 第 3 个周一。N 范围 1~5。

可用范围:LWLWL-N 仅日字段; L# 仅周字段。

注意事项

  • 日字段与周字段的关系:两者是"与"的关系(同时满足)。例如 0 0 1 * 1 表示"每月 1 日且是周一"才执行,而不是"每月 1 日或周一"。
  • 周字段的 0 与 7:在标准 Cron 中,0 和 7 都表示周日。本工具统一使用 0 表示周日。
  • 月天数不一致:例如指定每月 31 日执行,则 2 月、4 月、6 月等只有 30 天的月份不会触发。
  • 步长起始值1/50/5 不同,前者产生 1, 6, 11...,后者产生 0, 5, 10...。

常用示例

表达式含义
0 0 * * *每天零点执行
*/5 * * * *每 5 分钟执行
0 9 * * 1-5工作日每天 9 点执行
0 0 1 * *每月 1 日零点执行
0 0 * * 0每周日零点执行
0 0 1 1 *每年 1 月 1 日零点执行
30 2 * * *每天凌晨 2:30 执行
0 */6 * * *每 6 小时执行一次
0 9,18 * * *每天 9 点和 18 点执行
0 0 * * 1每周一零点执行
0 0 L * *每月最后一天零点执行
0 0 1W * *每月 1 号最近工作日零点执行
0 0 * * 1#2每月第 2 个周一零点执行
0 0 LW * *每月最后一个工作日零点执行

常见问题

五位和七位 Cron 表达式有什么区别?
五位格式:分 时 日 月 周(标准 Linux crontab)。七位格式在前后各加一位:秒 分 时 日 月 周 年(Spring、Quartz 等框架使用)。本工具支持两种格式。
Cron 表达式中的特殊字符有哪些?
*(任意值)、?(不指定,仅日和周)、-(范围,如 1-5)、,(枚举,如 1,3,5)、/(步长,如 */5 表示每 5 个单位)、L(最后,如月中最后一天)、W(最近工作日)。
Cron 表达式常见的错误有哪些?
常见错误包括:日和周同时指定了非 ? 的值(互斥)、月份或星期写错(星期 0-7 中 0 和 7 都代表周日)、步长 / 前缺省起始值。本工具会自动检测并提示错误。

相关工具