Cron 表达式详解

Cron 表达式格式说明

Cron表达式是一个字符串,字符串以5个空格隔开,分为6个字段,每一个字段代表一个含义,Cron语法格式如下:

Seconds(秒) Minutes(分) Hours(小时) DayofMonth(日期) Month(月份) DayofWeek(星期)

字段允许值允许的特殊字符
0-59, - * /
0-59, - * /
小时0-23, - * /
日期1-31, - * / ?
月份1-12, - * /
星期1-7或者SUN-SAT, - * / ? #

需要注意的是:1-7分别对应 周日-周一,也就是 1>周日;2>周一,以此类推

Cron 表达式特殊字符说明

特殊字符代表含义
,表示列出枚举值。例如:在Seconds字段使用1,2,5,则意味着在1、2、5秒都会触发一次
-表示范围,例如Seconds字段使用5-20,表示从5-20秒每秒都会触发一次 (包括边界值5和20秒)
*表示匹配任意值,假如在Seconds字段使用*, 即表示每秒都会触发一次
/表示起始时间开始触发,然后每隔固定时间触发一次,例如在Seconds字段使用6/2,表示从第6秒开始(包括第6秒),每隔两秒都会触发一次
?只能用在DayofMonth和DayofWeek两个字段。表示无特定值,类似于*
#用于确定每个月第几个星期几,只能出现在DayofWeek字段。例如在4#2,表示某月的第二个星期三。

疑问

“0/2 * * 18 * ?” 表示每月的18号每间隔两秒都会触发一次,至于为什么是 18 ,因为我今天写博客的时间是18号

关于特殊符号 / ,好多博主讲解说 "0/2 * * 18 * ?""0/2 * * 18 * *" 是不一样的,?不能改成*,但是为什么我测试无论用 ? 还是 * 都是一样的呢,有大佬知道这两个符号的区别吗,欢迎下方留言!

常用表达式:

0/2 * * * * ?         表示每2秒 执行任务
0 0/2 * * * ?         表示每2分钟 执行任务
0 0 2 1 * ?           表示在每月的1日的凌晨2点调整任务
0 15 10 ? * MON-FRI   表示周一到周五每天上午10:15执行作业
0 0 10,14,16 * * ?    每天上午10点,下午2点,40 0/30 9-17 * * ?     朝九晚五工作时间内每半小时
0 0 12 ? * WED   	  表示每个星期三中午120 0 12 * * ?   		  每天中午12点触发
0 15 10 ? * *   	  每天上午10:15触发
0 15 10 * * ?     	  每天上午10:15触发
0 15 10 * * ?   	  每天上午10:15触发
0 * 14 * * ?     	  在每天下午2点到下午2:59期间的每1分钟触发
0 0/5 14 * * ?   	  在每天下午2点到下午2:55期间的每5分钟触发
0 0/5 14,18 * * ?     在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
0 0-5 14 * * ?   	  在每天下午2点到下午2:05期间的每1分钟触发
0 10,44 14 ? 3 WED    每年三月的星期三的下午2:102:44触发
0 15 10 ? * MON-FRI   周一至周五的上午10:15触发
0 15 10 15 * ?   	  每月15日上午10:15触发
0 15 10 ? * 6#3   	  每月的第三个星期五上午10:15触发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值