cron表达式

1、cron表达式(年可以为空):Seconds Minutes Hours DayofMonth Month DayofWeek [Year]

2、每一个域可出现的字符如下:
Seconds:可出现", - * /"四个字符,有效范围为0-59的整数
Minutes:可出现", - * /"四个字符,有效范围为0-59的整数
Hours:可出现", - * /"四个字符,有效范围为0-23的整数
DayofMonth:可出现", - * / ? L W C"八个字符,有效范围为1-31的整数
Month:可出现", - * /"四个字符,有效范围为1-12的整数或JAN-DEc
DayofWeek:可出现", - * / ? L C #"八个字符,有效范围为1-7的整数或SUN,MON,TUE,WED,THU,FRI,SAT两个范围。1表示星期天,2表示星期一, 依次类推(建议写英文)
Year:可出现", - * /"四个字符,有效范围为1970-2099年 

注:(
* :表示匹配该域的任意值
- :表示范围,例如在Minutes域使用5-20,表示从5分到20分每分钟触发一次。
/ :表示起始时间开始触发,然后每隔固定时间触发一次,例如在Minutes域使用5/20,则意味着5分触发一次,而25,45等分别触发一次。
, :表示列出枚举值。例如:在Minutes域使用5,20,则意味着在5和20分触发一次。 

?只能用在DayofMonth和DayofWeek两个域。它也匹配域的任意值,但实际不会。因为DayofMonth和 DayofWeek是相互影响的。
    当DayofMonth或者DayofWeek中其中有一个是*或者确定的值,则另一个一定要是?。(这样的话两者之间必有一个是?)

    
L :表示最后,只能出现在DayofWeek和DayofMonth域。
    在DayofMonth子表达式中,“L”表示一个月的最后一天。
    在DayofWeek自表达式中,“L”表示一个星期的最后一天,也就是SAT。如果在“L”前有具体的内容(有效范围为1-7的整数或SUN,MON,TUE,WED,THU,FRI,SAT),
       它就具有其他的含义了(例如:“6L”、“FRIL”表示这个月的最一个星期五)。
    
W :表示有效工作日(周一到周五),只能出现在DayofMonth域。是对前导日期的修饰,表示离该日期最近的工作日,系统将在离指定日期的最近的有效工作日触发事件。
   (15W表示离该月15号最近的工作日)

LW :这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。 

C :允许在DayofMonth和DayofWeek中出现,代表“Calendar”的意思。也就是说这个表达式的值依赖于相关的“日历”的计算结果,如果没有“日历”关联,则等价于所有包含的“日历”。
   (是对前导日期的修饰)
    如:日期域是“5C”表示关联“日历”中第一天,或者这个月开始的第一天的后5天。
    星期域是“1C”表示关联“日历”中第一天,或者星期的第一天的后1天,也就是周日的后一天(周一)。
    例:DayofMonth:今天是0522,23C就会从0523开始每个月的23号触发;22C就会从0622开始每个月的22号触发。
        DayofWeek:今天是星期一,1C就会下个星期天开始每个星期触发;3C就会这个星期二开始每个星期触发。

# :用于确定每个月第几个星期几,只能出现在DayofWeek域。例如在4#2,表示某月的第二个星期三。

3、例子练习。
如:1/40 58-59 23 ? 5,7 TUEL 2017 ;3 2/25 2 ? 5,7 TUEC 2017,2018 ;3 2/25 2 LW 5,7 ? 2017 ;3 2/25 10 3W 5,7 ? ;3 2/25 10 ? 5,7 WED#2 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值