Quartz定时表达式

Quartz的定时表达式由7个子表达式组成,每个子表达式对应的时间单位如下:

次序 单位 中文
1. Seconds 0/5 :每分钟内从0开始,每5秒执行一次,到55秒结束,数值/数值:第一个数值表示什么时间开始执行,第二个数值表示递增值,值范围在60秒内
2. Minutes 6,26,46 :每个小时在第6分钟,26分钟,46分钟执行,相当于 6/20: 6分钟开始,每过20分钟继续执行
3. Hours 同秒和分。分、时、日、月和周日期均可使用“*”表示每一个当前时间单位,例如 “0 * * * * ?”表示每分钟执行,“0 0 * * * ?”表示每小时执行
4. Day-of-Month ?问号只允许在周日期这两个表达式处使用,当配置周日期时,这里使用问号表示此处不指定值,相反里配置日期或者日间隔表达式,那么周日期表达式处则使用问号表示不指定,例如:“0 0 12 ? * WED” 表示每周三中午执行。另外需要注意不同月份日数的不同;L-4表示月倒数第4天。
5. Month 范围从0~11或 JAN~DEC,可以指定单值,也可以指定范围,如"MAY-OCT,DEC"
6. Day-of-Week 周日期 范围1~7或者SUN~SAT,另外周日期均可使用L来表示月的最后一天或者周最后一天;5L或者SATL则分别表示月的最后5天或者月的最后一个星期六;W和#这两个是周日期独有的,9W表示离这个月第9日最近的工作日周(MON-FRI),1#3或MON#3则均表示这个月第3个周一。
7. Year (optional field) 年(可选) 年份,可以指定某个年或者某个几个年甚至范围,通常使用*多些,每年都执行。

示例解析:

CronTrigger Example 1 - an expression to create a trigger that simply fires every 5 minutes

“0 0/5 * * * ?” :从0分钟开始,每隔5分钟执行一次,当分钟最后一次执行在55分。

CronTrigger Example 2 - an expression to create a trigger that fires every 5 minutes, at 10 seconds after the minute (i.e. 10:00:10 am, 10:05:10 am, etc.).

“10 0/5 * * * ?” : 从0分钟10秒开始,每隔5分钟执行一次,最后一次执行在55分10秒。

CronTrigger Example 3 - an expression to create a trigger that fires at 10:30, 11:30, 12:30, and 13:30, on every Wednesday and Friday.

“0 30 10-13 ? * WED,FRI” : 在每周三、周五的10:30,11:30,12:30和13:30执行

CronTrigger Example 4 - an expression to create a trigger that fires every half hour between the hours of 8 am and 10 am on the 5th and 20th of every month. Note that the trigger will NOT fire at 10:00 am, just at 8:00, 8:30, 9:00 and 9:30

“0 0/30 8-9 5,20 * ?” : 在每月5号和20号的8点、8点半,9点,9点半执行。

你可能感兴趣的:(Quartz定时表达式)