Spring Scheduler 和 Quartz都支持CRON来定义调度周期。
CRON表达式由「空格」分割的6部分组成,分别描述「秒、分、时、天、月、周」。
每部分可以用「星号(*)、数字(0~9)、斜线(/)、逗号(,)、横线(-)」表示,月 和 周还可以用前3个英文字母。
- 数字(0~9):
 - 星号(*):所有取值范围的数字
 - 斜线(/):代表每,*/5 即每5个单位
 - 逗号(,):几个离散的数字
 - 横线(-):连续的数字
 
例子:
- “0 0 * * * *” = 每天每个小时的整点
 - “*/10 * * * * *” = 每10秒钟
 - “0 0 8-10 * * *” = 每天的8,9,10整点
 - “0 0 6,19 * * *” = 每天的6点和19点两个整点
 - “0 0/30 8-10 * * *” = 每天的8:00, 8:30, 9:00, 9:30, 10:00 和 10:30
 - “0 0 9-17 * * MON-FRI” = 周一到周五每天的9~17点整点
 - “0 0 0 25 12 ?” = 每个圣诞夜0点