cron表达式

语法

Cron表达式是一个字符串,字符串以空格隔开,分为7个域,每一个域代表一个含义。
语法 : 秒 分 时 日 月 年 星期 年

有效值

各个域可出现的值:

有效值有效字符
0-59, - * /
0-59, - * /
0-23, - * /
0-31,- * ? / L W C
1-12的整数或者 JAN-DEC, - * /
星期1-7的整数或者 SUN-SAT,- * ? / L C #
1970-2099, - * /

有效值和有效字符含义

1.数值表示具体的时间点

注意星期的 1表示周日,2表示周一,以此类推

例如:
cron="30 10 1 20 10 ? 2011" 表示 2011年10月20号1点10分30秒触发任务

2.特殊字符含义如下

* 表示任意时间

例如
cron="30 * * * * ? *"
表示每30秒触发一次

- 表示范围

例如
cron="15-45 * * * * ? *"
表示15到45秒内,每秒都触发任务

/ 表示开始触发且间隔多久触发

例如
cron="0 5 2/5 * * ? *"
表示2:05分触发任务,每隔5小时触发一次

, 表示所有触发的时间点

例如
cron="5 5,15,25 * * * ?" 表示5:05,15:05,25:05触发任务

? 表示忽略该域

只能作用于日和星期上,因为这两个是互相影响的,指定了一个,另一个可以写?

例如
cron="5 5 * 10 * ? *" 表示任意月的10号任意小时5分5秒时候触发,不管星期几
如果把?换成 *则表示 每小时5分5秒触发一次,10号就不起作用了

L 表示最后一个

只能作用于日和星期上,表示最后一天,最后一个星期几。

W 表示工作日

只能作用在日期域上,系统将在离指定日期的最近的有效工作日触发事件。

# 用于确定每个月第几个星期几

只能出现在DayofMonth域。

例如
4#2,表示某月的第二个星期三

常用表达式
"30 * * * * ?" 每半分钟触发任务

"30 10 * * * ?" 每小时的10分30秒触发任务

"30 10 1 * * ?" 每天1点10分30秒触发任务

"30 10 1 20 * ?" 每月20号1点10分30秒触发任务

"30 10 1 20 10 ? *" 每年10月20号1点10分30秒触发任务

"30 10 1 20 10 ? 2011" 2011年10月20号1点10分30秒触发任务

"30 10 1 ? 10 * 2011" 2011年10月每天1点10分30秒触发任务

"30 10 1 ? 10 SUN 2011" 2011年10月每周日1点10分30秒触发任务

"15,30,45 * * * * ?" 每15秒,30秒,45秒时触发任务

"15-45 * * * * ?" 15到45秒内,每秒都触发任务

"15/5 * * * * ?" 每分钟的每15秒开始触发,每隔5秒触发一次

"15-30/5 * * * * ?" 每分钟的15秒到30秒之间开始触发,每隔5秒触发一次

"0 0/3 * * * ?" 每小时的第0分0秒开始,每三分钟触发一次

"0 15 10 ? * MON-FRI" 星期一到星期五的10点15分0秒触发任务

"0 15 10 L * ?" 每个月最后一天的10点15分0秒触发任务

"0 15 10 LW * ?" 每个月最后一个工作日的10点15分0秒触发任务

"0 15 10 ? * 5L" 每个月最后一个星期四的10点15分0秒触发任务

"0 15 10 ? * 5#3" 每个月第三周的星期四的10点15分0秒触发任务

转载于:https://www.cnblogs.com/joe-/p/10369425.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值