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分钟触发一次。这个解决方案就是创建两个触发器,两个触发器都运行相同的任务。

原文地址:https://www.cnblogs.com/alipayhutu/p/2704665.html