`
chendewei2401
  • 浏览: 9502 次
  • 性别: Icon_minigender_1
  • 来自: 临沂
社区版块
存档分类
最新评论

cron expression总结

阅读更多

 

1.Cron表达式是基于频度的任务计划。
2.此正则表达式格式:
 此正则表达式有六部分组成,以空格分隔,格式说明如下:

名称

必须

可用数值

可用字符

0-59

, - * /

0-59

, - * /

0-23

, - * /

1-31

, - * ? / L W C

1-12 or JAN-DEC

, - * /

1-7 or SUN-SAT

, - * ? / L C #

 
说明:
1),'*' 字符可以用于所有字段,如在“分”字段中设为"*"表示"每一分钟"的含义。
2),'?' 字符可以用在“日”和“周”字段. 它用来指定 '不明确的值'. 这在你需要指定这两个字段中的
   某一个值而不是另外一个的时候会被用到。如 我想将触发器设置在在每月10号而并不在意这天是周几,
   可将“日”字段设置成"10"而“周”字段设置成"?"
3), '-' 字符被用来指定一个值的范围,比如在“小时”字段中设为"10-12"表示"10点到12点".
4),',' 字符指定数个值。比如在“周几”字段中设为"MON,WED,FRI"表示将触发器设置在"Monday, Wednesday, and Friday".
5),'/' 字符用来指定一个值的的增加幅度. 比如在“秒”字段中设置为"0/15"表示"第0, 15, 30, 和 45秒"。
     而 "5/15"则表示"第5, 20, 35, 和 50". 在'/'前加"*"字符相当于指定从0秒开始. 每个字段都有一系列
     可以开始或结束的数值。对于“秒”和“分”字段来说,其数值范围为0到59,对于“小时”字段来说其为0到23,
     对于“日”字段来说为0到31, 而对于“月”字段来说为1到12。
     注意,"/"字段仅仅表示在允许的数值范围内从开始"第n"的值。例如对于“月”字段来说"7/6"只是表示7月被开启而不是“每六个月”, 。
6),'L'字符可用在“日”和“周几”这两个字段。它是"last"的缩写。例如,“日”字段中的"L"表示"一个月中的最后一天" ,
    对于一月就是31号对于二月来说就是28号(非闰年)。而在“周几”字段中, 它简单的表示"7" or "SAT",
    但是如果在“周几”字段中使用时跟在某个数字之后, 它表示"该月最后一个星期×",比如"6L"表示"该月最后一个周五"。
7),'W' 可用于“日”字段。用来指定历给定日期最近的工作日(周一到周五) 。比如将“日”字段设为"15W",
    意为: "离该月15号最近的工作日"。因此如果15号为周六,触发器会在14号即周五调用。如果15号为周日, 触发器会在16号
   也就是周一触发。如果15号为周二,那么当天就会触发。如果将“日”字段设为"1W", 而一号又是周六, 触发器会于下周一也
   就是当月的3号触发,因为它不会越过当月的值的范围边界。'W'字符只能用于“日”字段的值为单独的一天而不是一系列值的时候。
8),'L'和'W'可以组合用于“日”字段表示为'LW',意为"该月最后一个工作日"。
9),'#' 字符可用于“周几”字段。该字符表示“该月第几个周×”,比如"6#3"表示该月第三个周五( 6表示周五而"#3"该月第三个)。
      "2#1"表示该月第一个周一而 "4#5" 表示该月第五个周三。如果指定"#5"该月没有第五个“周×”,该月是不会触发的。
10),'C' 字符可用于“日”和“周几”字段,它是"calendar"的缩写。 它表示为基于相关的日历所计算出的值(如果有的话)。
       如果没有关联的日历, 那它等同于包含全部日历。“日”字段值为"5C"表示"日历中的第一天或者5号以后",
      “周几”字段值为"1C"则表示"日历中的第一天或者周日以后"。
       对于“月份”字段和“周几”字段来说合法的字符都不是大小写敏感的。
 
3. 例子
正则式              
0 0 12 * * ?                   每天中午十二点触发
0 15 10 ? * *                  每天早上10:15触发
0 15 10 * * ?                  每天早上10:15触发
0 15 10 * * ? *              每天早上10:15触发
0 15 10 * * ?               每天早上10:15触发
0 * 14 * * ?                 每天从下午2点开始到2点59分每分钟一次触发
0 0/5 14 * * ?              每天从下午2点开始到2:55分结束每5分钟一次触发
0 0/5 14,18 * * ?           每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
0 0-5 14 * * ?                每天14:00至14:05每分钟一次触发
0 10,44 14 ? 3 WED        三月的每周三的14:10和14: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                每月最后一个周五的10:15触发
0 15 10 ? * 6L                每月最后一个周五的10:15触发
0 15 10 ? * 6#3               每月的第三个周五的10:15触发
 
参照网址:
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics