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–23 | 24 小时制 |
| 日期 | 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 执行一次 |







