测试

Cron Expression

  Cron 指计划任务,用7个以空格分开的域(字符串)表示任务在约定的时间执行。

  7个域分别代表如下含义:

  Seconds | Minutes | Hours | DayOfMonths | Month | DayOfWeek | Year[Optional]

  每个域均可使用值 ","、 "-" 、 "*"、 "/",

  其他选值如下:

  Seconds: 有效值范围 [0 - 59]

  Minutes: 有效值范围 [0 - 59]

  Hours : 有效值范围 [0 - 23]

  DayOfMonths :还可以使用 "?"、 "L"、 "W"、 "C", 有效值范围 [1 - 31]

  Month  : 有效值范围 [1 - 12] 或 [JAN - DEC]

  DayOfWeek : 还可以使用 "?"、 "L"、 "C"、 "#", 有效值范围 [1 - 7] 或 [SUN - SAT], 1表示周一

  Year  : 有效值范围为[1970 - 2099]

  上面的值中,

      > "*" 表示匹配任意值

  > "-" 表示范围值,如Hours域值为 [9-17]表示朝9晚5,每个小时执行

  > "," 表示枚举值,如Month域值为 1,3,5 表示1月份、3月份、5月份执行

  > "/" 表示固定频率值,如Seconds域值为 */5 表示每隔5秒触发一次

  > "?" 仅允许在 DayOfMonths 或 DayOfWeek 两个域中使用一个,问号表示忽略该域的值,例如:当DayOfWeek为1, DayOfMonths为"?" 时 表示每周日执行,且忽略 DayOfMonths 这个域

  > "L" 表示最后,仅允许在DayOfMonths 或DayOfWeek 中使用,如:DayOfWeek为1表示最后一个周日触发

  > "W" 表示最近有效工作日,仅允许用在DayOfMonths域, 如该域值为 8W, 如果8号为工作日,则8号触发;如果8号为周六,则在7号触发;如果8号为周日,则在9号触发,另W查找时不会垮月。

  > "#" 表示某月的第几个星期几,仅允许用在DayOfMonths域,如:1#2 表示某个月得第二个周日

 

下面是一些简单的例子:

秒 分 时 日 月 周 年(可选)

0  0  9  *  *  *  *    每天9点触发

0  0  9  ?  *  *        每天9点触发(年可以忽略,每周7天每天触发所以忽略日)

0  0  9  *  *  ?        每天9点触发(每天触发,所以忽略周)

0 30 8  1  * *         每月1号8:30触发

0  0  8,10,12 * * *  每天8点、10点、12点触发

0  0  8-12 * * *       每天8-12点,每个小时触发

0  *  14 * * *          每天 14:00 - 14:59 每分钟触发

0  0/5 * * * *      每隔5分钟触发一次

0  0/5 15 * * *        每天15:00 到 15:55之间每5分钟触发一次

0  0  8  * L *        每月最后一天的8:00触发

0  30 8  ? * 5L         每月最后一个周四8:30触发

0  30 8  ?* 1#3      每月第三个周日的8:30触发

  

 

  

posted @ 2015-11-14 22:10  Genter  阅读(285)  评论(0编辑  收藏  举报

测试