看了就会写的Cron表达式

一、Cron表达式主要有两种格式(每种软件可能不一样):

(1)秒 分 小时 日期 月份 星期几

(2)秒 分 小时 日期 月份 星期几 年份

二、各自字段允许的字符及值范围

(1)秒(0~59)、分(0~59)、小时(0~23)、月份(1~12)、年份(可选字段),这五个字段允许 , - * / 四个字符。

(2)日期(1~31,需考虑月份的天数),这个字段允许  ,- * ? / L W C  八个字符。

(3)星期允许 ,这个字段允许  - * ? / L C #  八个字符。

三、特殊字符的含义

(1)*:表示任意值。

(2)?:只用在日期和星期中,若指定星期则日期只能用?,反过来,若指定日期则星期只能用?,否则这两个可能存在冲突。

(3)-:表示范围。

(4)/:表示起始时间开始触发,然后每隔固定时间触发一次。

(5),:表示列出枚举值。

(6)L:表示最后,只能出现在DayofWeek和DayofMonth域。如果在DayofWeek域使用5L,意味着在最后的一个星期四触发。 

(7)W:表示有效工作日(周一到周五),只能出现在DayofMonth域,系统将在离指定日期的最近的有效工作日触发事件。例如:在 DayofMonth使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一到星期五中的一天,则就在5日触发。另外一点,W的最近寻找不会跨过月份 。

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

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

四、举几个栗子

(1)0 0/5 14 * * ?    在每天下午2点到下午2:55期间的每5分钟触发 

(2)0 0/5 14,18 * * ?     在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 

(3)0 0-5 14 * * ?    在每天下午2点到下午2:05期间的每1分钟触发 

五、验证Cron表达式

在线工具:灰机直达

 

 

猜你喜欢

转载自blog.csdn.net/onemoster/article/details/107861843