每一个quartz的CronTrigger表达式分为七个子表达式,每个子表达式之间用空号分割,分别是:秒 分 时 日 月 星期 年。其中年不是必须的,所以CronTrigger最少有六个子表达式。
每个子表达式的具体表示如下:
字段名 | 范围值 | 必须 | 特殊字符 |
---|---|---|---|
秒 | 0-59 | 是 | -*/ |
分 | 0-59 | 是 | -*/ |
时 | 0-23 | 是 | -*/ |
日 | 1-31 | 是 | ,*?/LW |
月 | 1-12 or JAN-DEC | 是 | -*/ |
星期的某天 | 1-7 or SUN-SAT | 是 | -*?/L# |
年 | 1970-2099 | 否 | -*/ |
字符表示如下:
字符 | 解释 |
---|---|
, | 与。 字符“.”表达式的俩边的值都是要执行的数据。如5,8 表示5日与8日 |
- | 表示值的范围。 如:0 0-59 * * * ? 表示每分钟执行一次 |
* | 表示任意可合法的值。 |
/ | 增量。如:0 0/2 * * * ? 表示每俩分钟执行一次,如果换成3/5表示从第3分钟开始每5分钟执行一次,即3分钟一次,8分钟一次,13分钟一次。。。。 |
? | 不指定值。就是不清楚的意思,只能出现在月的某天和星期的某天中。 |
L | 最后的意思。只能表示某月的最后一天和某星期的最后一天。注意的是星期的最后一天是星期六。 |
W | 月中最接近指定日期的普通日(星期一到星期五),只能出现在“月的某天”,如"15W"就是说当前月最接近15日的普通日,如果当月的15是星期三就是星期三,如果当月的15是星期六那么就是昨天也就是星期五,如果当月的15是星期天则为第二天也就是星期一。 |
# | 当前月的第N个星期日,只能出现在“星期的某天”项中。如"6#3"就是说当前月的第三个星期五,注意"1-7",1=星期天,2=星期一等等。 |