cron表达式
1. seconds
2. minutes
3. hours
4. day-of-month
5. month
6. day-of-week
7. year(optional field)
每个子表达式,可表达范围或列表。
0 0 12 ? * WED
*表示:该域中每一个可能的值
/表示:表示值的增量,例如在秒域中放入0/15,表示从0开始,以15s为增量,效果与0,15,30,45相同。
?表示:只在day-of-month, day-of-week域中使用,表示“不指定值”。
L表示:只在day-of-month, day-of-week域中使用,表示last。深入一点,在day-of-week中使用6L/FRIL,都表示本月的最后一个周五。
W表示:只在day-of-month中使用,指定距离给定日最接近的周几(这个周几在在day-of-week域中指定)。
#表示:只在day-of-week中使用,月中的第几个周几。"6#3" 或者 "FRI#3"表示“月中第三个周五”
1. seconds
取值范围:0-59
2. minutes
取值范围:0-59
3. hours
取值范围:0-23
4. day-of-month
取值范围:0-31
5. month
取值范围:0-11,或JAN,FEB MAR, APR, MAY, JUN, JUL, AUG, SEP,OCT, NOV 及DEC
6. day-of-week
取值范围:1-7,或 SUN, MON, TUE, WED, THU, FRI, SAT
7. year(optional field)
例如:
例1 – 一个简单的每隔5分钟触发一次的表达式
"0 0/5 * * *?"
例2 – 在每分钟的10秒后每隔5分钟触发一次的表达式(例如. 10:00:10 am, 10:05:10等.)。
"10 0/5 * * *?" CronTrigger
例3 – 在每个周三和周五的10:30,11:30,12:30触发的表达式。
"0 30 10-13 ? *WED,FRI" CronTrigger
例4 – 在每个月的5号,20号的8点和10点之间每隔半个小时触发一次且不包括10点,只是8:30,9:00和9:30的表达式。
"0 0/30 8-9 5,20 * ?"
注意,对于单独触发器来说,有些日程需求可能过于复杂而不能用表达式表述,例如:9:00到10:00之间每隔5分钟触发一次,下午1:00到10点每隔20分钟触发一次。这个解决方案就是创建两个触发器,两个触发器都运行相同的任务。