cron表达式

cron表达式

结构

cron表达式是一个字符串,分为6或7个域(最后一位年,非必填),每两个域之间用空格分隔,

其语法格式为:“秒域 分域 时域 日域 月域 周域 年域”

取值范围

域名可取值可取符号(仅列部分常用)
秒域0~59的整数* - , /
分域0~59的整数* - , /
时域0~23的整数* - , /
日域1~31的整数* - , / ? L W
月域112的整数或JANDEC* - , /
周域17的整数或SUNSAT* - , / ? L #
年域1970~2099的整数* - , /

特殊字符说明

*匹配任意值。在字段月中,*表示每个月。
,列出枚举值。在字段分钟中,5,20表示分别在5分钟和20分钟触发一次。
-指定范围。在字段分钟中,5-20表示从5分钟到20分钟之间每隔一分钟触发一次。
/指定数值的增量。在字段分钟中,0/15表示从第0分钟开始,每15分钟。在字段分钟中3/20表示从第3分钟开始,每20分钟。
?不指定值,仅用于日期和星期。当字段日期或星期其中之一被指定了值以后,为了避免冲突,需要将另一个字段的值设为?。
L单词Last的首字母,表示最后一天,仅字段日期和星期支持该字符。 重要:指定L字符时,避免指定列表或范围,否则会导致逻辑问题。在日期中,L表示某个月的最后一天。在星期中,L表示一个星期的最后一天,也就是星期六。 如果在L前有具体的内容,例如,在字段星期中的6L表示这个月的最后一个星期五。
W除周末以外的有效工作日,在离指定日期的最近的有效工作日触发事件。W字符寻找最近有效工作日时不会跨过当前月份,连用字符LW时表示为指定月份的最后一个工作日。在日期中5W,如果5日是星期六,则将在最近的工作日星期五,即4日触发。如果5日是星期天,则将在最近的工作日星期一,即6日触发;如果5日在星期一到星期五中的一天,则就在5日触发。
#确定每个月的第几个星期几。在字段星期中,4#2表示某月的第二个星期四。

常例

表达式意义
每隔5秒钟执行一次*/5 * * * * ?
每隔1分钟执行一次0 * /1 * * * ?
每天1点执行一次0 0 1 * * ?
每天23点55分执行一次0 55 23 * * ?
每月最后一天23点执行一次0 0 23 L * ?
每周六8点执行一次0 0 8 ? * L
每月最后一个周五,每隔2小时执行一次0 0 */2 ? * 6L
每月的第三个星期五上午10:15执行一次0 15 10 ? * 5#3
在每天下午2点到下午2:05期间的每1分钟执行0 0-5 14 * * ?
表示周一到周五每天上午10:15执行0 15 10 ? * 2-6
每个月的最后一个星期五上午10:15执行0 15 10 ? * 6L
每天上午10点,下午2点,4点执行一次0 0 10,14,16 * * ?
朝九晚五工作时间内每半小时执行一次0 0/30 9-17 * * ?
每个星期三中午12点执行一次0 0 12 ? * 4
每年三月的星期三的下午2:10和2:44各执行一次0 10,44 14 ? 3 4
每月的第三个星期五上午10:15执行一次0 15 10 ? * 6#3
每月一日凌晨2点30执行一次0 30 2 1 * ?
每分钟的第10秒与第20秒都会执行10,20 * * * * ?
每月的第2个星期的周5,凌晨执行0 0 0 ? * 6#2
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值