Cron
想了解Cron最好的方法是看Quartz的官方文档。
Cron表达式由6~7项组成,中间用空格分开。从左到右依次是:秒、分、时、日、月、周几、年(可忽略)。值可以是数字,也可以是以下符号:
*
:所有值都匹配?
:无所谓,不关心,通常放在”周几”里,
:或者/
:增量值-
:区间
下面举几个例子:
0 * * * * *
:每分钟(当秒为0的时候)0 0 * * * *
:每小时(当秒和分都为0的时候)*/10 * * * * *
:每10秒0 5/15 * * * *
:每小时的5分、20分、35分、50分0 0 9,13 * * *
:每天的9点和13点0 0 8-10 * * *
:每天的8点、9点、10点0 0/30 8-10 * * *
:每天的8点、8点半、9点、9点半、10点0 0 9-17 * * MON-FRI
:每周一到周五的9点、10点…直到17点(含)0 0 0 25 12 ?
:每年12约25日圣诞节的0点0分0秒(午夜)0 30 10 * * ? 2016
:2016年每天的10点半
其中的?
在用法上其实和*
是相同的。但是*
语义上表示全匹配,而?
并不代表全匹配,而是不关心。比如对于0 0 0 5 8 ? 2016
来说,2016年8月5日是周五,?
表示我不关心它是周几。而0 0 0 5 8 * 2016
中的*
表示周一也行,周二也行…语义上和2016年8月5日冲突了。
不记得也没关系,记住Cron Maker也可以,它可以在线生成cron表达式。