定时器CronExpression配置说明详解

转载自:定时器CronExpression配置说明详解 - 心和梦的方向 - 博客园(如有侵权请告知,删除)

项目中经常要使用到定时器,其中CronExpression配置非常重要。现在就配置说明详细解说一下:

CronExpression表达式是由6个必需字段(秒、分、时、日、月、周)和一个可选字段(年)通过空格组成。

cronExpression表达式组成说明
序号字段名允许值允许特殊字符
10-59, - * /
20-59, - * /
30-23, - * /
41-31, - * ? / L W
51-12 or JAN-DEC, - * /
61-7 or SUN-SAT, - * ? / L #
7年(可选字段)empty, 1970-2199, - * /

下面对特殊字符表达意思进行解说:

* 代表所有值,比如一分钟里代表每一个分钟。

? 只允许使用在日和周的表达式中,代表不定值。使用的场景为不需要关心当前设置这个字段的值,例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ?

-  代表在一个范围里,比如10-12  代表10、11、12

,代表指定多个值,比如 在周字段配置 1,3,5 代表周一、周三、周五

/  代表递增触发,比如在秒字段 0/15  代表0,15,30,45  每15秒执行一次。 5/15代表 5,20,35,50

L  只允许使用在日和周的表达式中,L是last的简称,配置在日中代表一个月的最后一天,比如1月则为31日,2月非闰年则为28日,闰年为29日那天。  

    配置在周字段里,代表7或者星期六。6L代表这个月的最后一个星期五。

W 只允许使用在日字段里,代表最近的工作日(周一到周五),比如15w, 这个月的15号是星期六,则14号(星期五)触发,如果是星期日,则16号(星期一)触发,如果是星期二,则星期二触发。

LW也可以联合使用,如果配置LW,则代表这个月最后的工作日。

# 值允许使用在周字段里,比如6#3 代表这个月的第三个星期五 (6代表星期五,#3代表这个月的第三个)

注意:月和周字段是不区分大小写(JAN Jan  MON mon)

          配置指定日和周字段里,不完整,需要在其中一个用?代替配置。

         溢出范围是支持的,但是溢出范围过大可能会出问题。比如配置22-2  晚上10点到凌晨2点, NOV-FEB 代表11月-2月。这个是支持的,但14-6,这个就溢出太对,可能会出问题。

下面就例子进行说明:

0 0 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分每分钟一次触发

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 2002-2005    从2002年到2005年每月最后一周的星期五的10点15分触发

0 15 10 ? * 6#3  每月的第三周的星期五10点15分触发开始触发 

具体可参照quartz源码

CronTrigger类

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值