1、各个区域的含义:
字段 | 值的范围(整数) | 特殊符号 |
秒 Seconds | 0~59 | , / * - |
分 Minutes | 0~59 | , / * - |
时 Hours | 0~23 | , / * - |
日期 DayofMonth | 1~31(具体情况具体分析) | , / * - ? L C W |
月 Month | 1~12(Jan~Dec) | , / * - |
星期 DayofWeek | 1~7(Sun~Sat 1=Sun,7=Sat) | , / * - ? L C # |
年(可选)Year | 1970~2099 | , / * - |
2、特殊符号含义:
,:符号两边的值(Seconds--2,5,即分别在2秒,5秒时触发一次任务)
/:起始时间触发任务,每隔固定时间段触发一次(Minutes--5/15,即5分时触发一次,而20分,35分,60分各触发一次)
*:匹配该区域内的任意值(Minutes区域,即每分钟触发一次任务)
-:表示范围(Seconds-- 2-5,即在2和5秒时每秒触发一次任务)
?:只能用在 日期 DayofMonth 和 星期 DayofWeek 两个区域上 ,匹配任意值
(两个区域上至少有一个为?:一个有值,另一个为?;两个都没值,一个为?,一个为*)
L:只用在 日期 DayofMonth 和 星期 DayofWeek(1=Sun,7=Sat) 两个区域上 表示最后,不能指定范围,只能具体指定某个值
(5L:日期某月的倒数第5天;星期某月的最后一个周四)
C:
W:只允许日期DayofMonth 中出现。这个字符用于指定日期的最近工作日。例如:如果你在日期域中写 “15W”,表示:这个月15号最近的工作日。所以,如果15号是周六,则任务会在14号触发。如果15好是周日,则任务会在周一也就是16号触发。如果是在日期域填写“1W”即使1号是周六,那么任务也只会在下周一,也就是3号触发,“W”字符指定的最近工作日是不能够跨月份的。字符“W”只能配合一个单独的数值使用
#:只允许在星期DayofWeek 中出现。这个字符用于指定本月的某某天。例如:“6#3”表示本月第三周的星期五(6表示星期五,3表示第三周)。“2#1”表示本月第一周的星期一。“4#5”表示第五周的星期三
L和W可以在日期域中联合使用,LW表示这个月最后一周的工作日
0 25 11 L * ? 每月最后一日的上午11:25触发
0 10 9 ? * 5L 每月的最后一个星期四上午09:10触发
0 15 12 ? * 7L 2005-2008 2005年至2008年的每月的最后一个星期六上午12:15触发
0 15 10 6 * 7#2 六月的第二个星期六上午10:15触发
0 0/10 14 * * ? 在每天下午2点到下午2:50期间的每10分钟触发
0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发
0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发
0 15 10 ? * MON-FRI 周一至周五的上午10:15触发