Spring定时器-Cron表达式

一、Cron表达式是一个由 7个子表达式组成的字符串。每个子表达式都描述了一个单独的日程细节。这些子表达式用空格分隔,分别表示: 

 字段                                               允许值                                        允许的特殊字符 

1. Seconds 秒                                   0-59                                                 , - * /  

2. Minutes 分钟                                0-59                                                 , - * /

3. Hours 小时                                   0-23                                                 , - * /

4. Day-of-Month 月中的天               1-31                                                 , - * / ? L W

5. Month 月                                      1-12(或JAN-DEC)                        , - * / 

6. Day-of-Week 周中的天                 1-7(或SUN-SAT)                          , - * / ? L # 

7. Year  年(可选的字段)                 忽略(或1970-2099)                       , - * / 

SUN-SAT(周中天)  :1-7(1 = 星期日) 和 SUN, MON, TUE, WED, THU, FRI, SAT

JAN-DEC(月)  :1-12 和 JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC

格式:Seconds Minutes Hours Day-of-Month Month Day-of-Week Year


二、特殊字符含义

“*”:表示当前字段的任意值。

“-”:指定一个值的范围。

“,”:指定数个值。

“/”:表示为“每”。在 Minutes  字段中,“0/15”表示每隔15分钟执行一次,“0”表示为从“0”分开始,“3/20”表示每隔20分钟执行一次,“3”表示从第3分钟开始执行。

“?”:只能用于 Day-of-Month 和 Day-of-Week 字段,当这两个字段其中之一被指定了值以后,为了避免冲突,需要将另一个字段的值设为“?”。

“L”:只能用于 Day-of-Month 和 Day-of-Week 字段,表示一个月的最后一天,或一个月的最后一个星期几。在 Day-of-Week 字段中,“6L”表示“一月的最后一个星期五”。

“W”:只能用于 Day-of-Month 字段,表示为最近的工作日,“15W”表示为“到本月15日最近的工作日”。

“#”:只能用于 Day-of-Week 字段,表示每月的第几个星期几,"6#3" or "FRI#3" 表示“每月的第三个星期五”。


三、附录 

"0 0 12 * * ?" 每天中午12点触发 

"0 15 10 ? * *" 每天上午10:15触发

"0 15 10 * * ?" 每天上午10:15触发 

"0 15 10 * * ? *" 每天上午10:15触发

"0 15 10 * * ? 2005" 2005年的每天上午10:15触发

"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发

"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发

"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触发

"0 15 10 15 * ?" 每月15日上午10:15触发

"0 15 10 L * ?" 每月最后一日的上午10:15触发

"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发

"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发

"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发 



你可能感兴趣的:(spring)