cron表达式 每隔8小时_关于quartz定时任务的cron表达式规则

Cron表达式是一个字符串,用空格分为6或7个域,每一个域代表一个子域,Cron有如下两种语法格式:

(1) 秒 分 小时 天 月 星期 年

(2)秒 分 小时 天 月 星期

一、结构

corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份

二、各字段含义

Field Name(域名)

Mandatory(是否必须存在)

Allowed Values(合法值)

Allowed Special Characters(允许的特殊符号)

秒(Seconds)

yes

0-59

,-*/

分(Minutes)

yes

0-59

,-*/

小时(Hours)

yes

0-23

,-*/

天(Day Of month)

yes

1-31

,-*/?LWC

月(Month)

yes

1-12 or JAX-DEC

,-*/

星期(Day of Week)

yes

1-7 or SUN-SAT

,-*/?LC#

年(Year)

no

empty,1970-2099

,-*/

注:1、年是可以取舍的域

2、星期是按照国外的来计算的,1代表的是周日,以此类推

3、所有用到的字母不区分大小写

三、各符号含义, (逗号)

各域通用的符号,标识枚举值

例:1,10 * * * * ? 标识每分钟的第1秒和第10秒各执行一次

* 10,20 * * * ? 标识每小时的第10分钟和第20分钟各执行一次- (横线)

各域通用的符号,标识一段时间内,每一单位时间执行一次

例:1-5 * * * * ? 标识1到5秒每秒执行一次

* 15 10 ? * MON-FRI 每周1到周5的10点15分执行等同于 * 15 10 ? * 2-6

* * 9-17 ? * MON -FRI 每周1到周五的9点到17点每小时执行一次* (星号)

各域通用的符号,标识每一

例:* * * * * ? 标识每一秒执行一次

10 * * * * ? 标识每分钟的第10秒执行一次/ (斜线)

各域通用的符号,斜线前面指定第一次执行的时间,斜线后面则指定增量,*/Y等同于0/Y

例:0/10 * * * * ? 标识每分钟的0,10,20,30,40,50各执行一次? (问号)

只有天和星期使用的符号,代表忽略该域,因为天和星期存在互相影响

例:想在每月的20号触发,但是如果星期的域上存在值,比如是MON,则当为星期一时也会触发该定时任务

* * * 8 * * 当这个表达式想在每月8号执行任务时,在星期域上的*会无论星期几都执行,所以这个定时任务是在每天都执行的L (字母L)

只有天和星期域使用的符号

1、当在天域上使用时,代表每个月的最后一天

例: * * * L * ? 标识每个月的最后一天每秒执行一次

注意:当L在天域上使用时,在L前面不能加数字,这是非法的

2、当在星期域使用时,代表当月最后一周的哪天执行

例:* * * ? * 1L 标识每个月的最后一周的周日执行W(字母W)

只能在天域上使用,字面意思就是weekday,意思就是工作室,距离当前日期最近的工作日

例:* * * 3W * ? 当3号为星期1到星期5时,在3号执行,当3号为星期六时,则在星期五,也就是2号执行

当3号为星期日时,则在星期一也就是4号执行

特别注意: 这个日期是不能跨月的比如表达式是* * * 1W * ? 假如1号是周六,则不会在上个月的最后一天执行,而是在3号也就是下周一执行C (字母C)

只有天和星期域使用的符号,字面意思是calendar,也就是根据日历来的

1、当在天域上使用时,代表日历上的每个月的第X天,X在1到31之间

例:0 15 16 17C * ? 每个月的第17天的16点15分执行

2、当在星期域上使用时,代表在日历上每周的第X天,X在1到7之间

例:0 15 16 ? * 4C 每周的第4天也就是每周三16点15分执行# (#号)

只有星期域使用的符号,使用规范X3Y,X代表一周的第几天,Y代表当月的第几周

例:0 15 16 ? * 4#3 每个月的第三周的第四天执行LW(L和W组合字段)

只有日期域上使用的符号,代表当月的最后一个工作日

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值