CRON 表达式是一种用于指定定时任务执行时间的字符串表达式。

它由 5 个字段组成,分别表示 分钟、小时、天数、月份和星期几 。每个字段都可以使用特定的符号来指定时间范围或间隔。

        ┌────────── 分钟 (0 - 59)
        | ┌──────── 小时 (0 - 23)
        | | ┌────── 天数 (1 - 31)
        | | | ┌──── 月份 (1 - 12) OR jan,feb,mar,apr ...
        | | | | ┌── 星期几 (0 - 6, 星期天 = 0) OR sun,mon ...
        | | | | |
        * * * * * 命令

除了基本的数字范围外,CRON 表达式还支持一些特殊符号和字符

  • 星号(*):表示匹配任意值。  例如,* 在分钟字段中表示每分钟都执行。
  • 逗号(,):用于分隔多个值。  例如,1,3,5 在小时字段中表示 1 点、3 点和 5 点执行。
  • 斜线(/):用于指定间隔值。  例如,*/5 在分钟字段中表示每 5 分钟执行一次。
  • 连字符(-):用于指定范围。  例如,10-20 在日期字段中表示从 10 号到 20 号。

核心字段

字段取值范围说明
分钟0–59每小时的第几分钟
小时0–2324 小时制
日期1–31每月几号
月份1–12 / JAN–DEC几月
星期0–6 / SUN–SAT周几;0 = 周日,7 也可表示周日(非标准)

特殊符号

符号含义示例效果
*任意值* * * * *每分钟执行任务
,多值分隔0 8,18 * * *每天 8 点、18 点执行任务
-区间9-18 * * * 1-5工作日 9–18 点执行任务
/步长 / 间隔*/5 * * * *每 5 分钟执行任务
0 0 * * *             /每天的午夜(00:00:00)执行任务
0 6 * * *             /每天的早上 6 点执行任务
0 12 * * 1-5          /每周一至周五的中午 12 点执行任务
0 */2 * * *           /每两个小时执行一次任务
30 9 * * 1-5          /每周一至周五的早上 9 点 30 分执行任务
表达式代码说明
0 2 * * *每天凌晨 2 点执行一次
26,29,33 * * * *在 26 分、29 分、33 分执行一次
30 0 * * *每天半夜 12 点 30 分执行一次
15 10 * * *每天上午 10 : 15 执行一次
0 * * * *每个整点执行一次
* 14 * * *每天 14 点到 14 : 59 分,每 1 分钟执行一次
0-5 14 * * *每天 14 点到 14 : 05 分,每 1 分钟执行一次
0-55/5 14 * * *每天 14 点到 14 : 55 分,每 5 分钟执行一次
0-55/5 14,18 * * *每天 14 点到 14 : 55 分,和 18 点到 18 点 55 分,每 5 分钟执行一次
0 18,22 * * *每天 18 点、22 点执行一次
0 7-23 * * *每天 7 点到 23 点,每整点执行一次
0 10,14,16 * * *每天上午 10 点,下午 2 点,4 点执行一次
0 9-17/1 * * * 1-5朝九晚五工作时间内每半小时执行一次
0 12 * * 3每个星期三中午 12 点执行一次
15 10 15 * *每月 15 日上午 10 : 15 执行一次
15 10 * * 1-5周一至周五的上午 10 : 15 执行一次
 代码校验