Quartz Cron表达式(定时任务)

参考链接 http://blog.csdn.net/wangpeng047/article/details/13018757

                http://www.blogjava.net/fancydeepin/archive/2012/06/12/quartz-cron.html


表达式的使用格式:

表达式按照顺序分别为秒,分,时,日,月,周,年(其中只有年是可选字段即:可以不写)

0-59 0-59 0-23 1-31 0-11或 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 1-7或“SUN, MON, TUE, WED, THU, FRI and SAT” 空 或 1970-2099
特殊字符:

cron表达式允许特殊字符有:

星号:*号表示匹配该区域的合法的任意值。例如:0 * 17 * * ? 表示的是每天17点每分钟激发一次。

?问号:? 号只能用在日和周域上,但是不能在这两个域上同时使用。可以这么理解?是"我    并    不    关    心    在    该    域    上    是    什    么    值”例:    0 * 17 * * ? 表示的是每天17点每分钟都激发。

, 逗号:逗号 (,) 是用来在给某个域上指定一个值列表范围。例:0 0-5 14 * * ?表示每天14点到14:05期间的每1分钟触发一次事             件。

/ 斜杠:斜杠 (/) 是用于时间表的递增,左边是开始触发时间,右边是每隔固定时间触发一次事件,如秒所在的域的值是5/15,表示5秒、20秒、35秒、50秒的时候都触发一次事件

 - 中划线:中划线 (-) 用于匹配一个特定的范围值;如时所在的分钟域的值是1-3,表示1、2、3分钟时的时候会触发事件。

  L :last,最后的意思,如果是用在天这个域,表示月的最后一天,如果是用在周所在的域,如6L,表示某个月最后一个周五

W:weekday,工作日的意思。如天所在的域的值是15W,表示本月15日最近的工作日,如果15日是周六,触发器将触发上14日周五。如果15日是周日,触发器将触发16日周一。如果15日不是周六或周日,而是周一至周五的某一个,那么它就在15日当天触发事件,W 只能用在指定的域为单天,不能是范围或列表值。

#:用来指定每个月的第几个星期几,如"6#3" or "FRI#3"表示没个月的第三个星期五,#只能用在周域中。


表达式样例:

每隔5秒执行一次:*/5 * * * * ?

每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

猜你喜欢

转载自blog.csdn.net/gexiaohai7/article/details/79577958