SpringBoot 集成 Quartz 02
实验环境
- IDEA
- Spring Boot:2.4.4
- Gradle:6.8.3
- Quartz:2.3.2
CronTrigger 中的 Cron Expressions
Cron Expressions是由七个子表达式组成的字符串,用于描述日程表的各个细节。这些子表达式用空格分隔,分别表示:
* Seconds(秒)
* Minutes(分)
* Hours(时)
* Day-of-Month(日)
* Month(月)
* Day-of-Week(周)
* Year (年)
单个子表达式取值
单个子表达式可以包含范围和/或列表。
例如,可以用“MON-FRI”,“MON,WED,FRI”或甚至“MON-WED,SAT”表示星期几的字段。通配符(’ ‘字符)可用于说明该字段的“每个”可能的值。
例如,在“月”字段中使用“”字符,表示“每个月”;在“星期几”字段中使用“*”,表示“每周的每一天”。所有字段都有一组可以指定的有效值。
字段 | 指定的有效值 | 备注 |
---|---|---|
Seconds(秒) | 0-59 | |
Minutes(分) | 0-59 | |
Hours(时) | 0-23 | |
Day-of-Month(日) | 1-31 | 需要注意给定的月份中有多少天 |
Month(月) | 0-11 或 JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC | |
Day-of-Week(周) | 1-7 或 SUN,MON,TUE,WED,THU,FRI,SAT | 1代表星期日 |
Year (年) |
’/‘字符可用于指定值的增量。
例如,在“分钟”字段中使用“0/15”,表示“每隔15分钟,从0分钟开始”;在“分钟”字段中使用“3/20”,表示“每隔20分钟,从3分钟开始”;在“分钟”字段中使用“ / 35”,表示“每隔35分钟,从0分钟开始”。‘?’ 字符允许用于日期和星期几字段,用于指定“无特定值”。
“L”字符允许用于月日和周字段,代表“最后”。
例如,“月”字段中的“L”表示“月的最后一天”;“周”字段的“L”表示“7”或“SAT”。
但是如果在“周”字段中再次使用这个值,就表示“最后一个月的xxx日”;例如,“周”字段的“6L”或“FRIL”表示“月的最后一个星期五”。
除以上用法,还可以指定从该月最后一天的偏移量,例如“日”字段的“L-3”,表示月的倒数第三天到最后一天。“W”用于指定距离给定日期最近的工作日(星期一至星期五)。
例如,“日”字段中的“15W”表示“距离当月15日最近的工作日”。‘#’用于指定本月的“第n个”XXX工作日。
例如,“周”字段中的“6#3”或“FRI#3”表示“本月的第三个星期五”。