定时任务调度框架Quartz--Cron表达式

文章目录

cron表达式

    cron表达式总共有7位,记忆口诀:秒分时天月,星期+年
|  |  ||--|--||秒  |  |

        还可以使用一些特殊符号:

        * :表示任意值。比如用于秒 (1号位),表示每一秒。取值范围相当于0~59。比如* 38 16 * * ?,表示在16:38分的这一分钟里每一秒都要执行。如果用于小时 (3号位),比如"16 10 * * * ?",相当于每个小时的10分16秒都要执行,一天执行24次。

        ?:只能用于天 (4号位)星期几(6号位),表示不确定的时间。比如下面的这个表达式0 0 2 1 * ?,表示每个月的1号的凌晨两点执行。6号位表示星期几,因为每个月的1号是星期几并不确定,所以就用?替代,也是情理之中。

        /:表示按照固定时间触发。比如下面的表达式0 0/5 2 1 * ?表示每个月的1号的凌晨2:00执行,然后按照每5分钟的频率继续执行,下次执行的时间是 2:05 , 2:10,2:15 。。。。,直到2:55最后一次执行,下一个月会重复此情况。

        注意。"0/10 59 15 * * ?"这种表达式指定了在15:59分执行,在15:59开始的这一分钟内,每10秒执行一次。但是到了16:00就会停止执行。它只会在15:59这一分钟内按照10秒一次的执行频率执行。
        同理,"0 57/1 16 * * ?",它只能在16点到17点之内循环执行,此表达式是16:57分开始执行,并且每分钟执行一次,分别为16:57、16:58、16:59。到了今天17点就不再执行。明天会重复今天的执行情况。

        -:表示一个范围。比如用到秒(1号位)"0-20 07 17 * * ?",表示17:07:00 立刻执行,直到17:07:20,共执行20次。
        又例如用到分钟 (2号位)0 15-18 17 * * ?表示17点15分、17点16分、17点17分、17点18分执行,共执行4次。明天会重复今天的执行情况。

        ,:表示枚举。0 0 1,2,3 * * ?表示每天凌晨1点、凌晨2点、凌晨3点执行,共执行3次。明天会重复今天的执行情况。0 0/5 1,2,3,4 * * ?,跟/结合起来,此时表示每天凌晨1点到4点之间,每5分钟执行一次。

        L::只能出现在天(4号位),表示最后一天、星期 (6号位),表示最后一个星期,例如5L,意味着在最后的一个星期四触发。(1=Sunday)。0 15 10 L * ?:每月最后一日的上午10:15触发 。 0 15 10 ? * 6L每月的最后一个星期五上午10:15触发

posted @ 2022-07-17 12:13  小大宇  阅读(294)  评论(0编辑  收藏  举报