Cron 表达式介绍

最近更新时间:2023-09-13 14:38:32

我的收藏
Quartz Cron 表达式是一种广泛应用于描述时间和日期信息的标准表达式。当在集成流 Scheduler 组件中配置的 Cron 表达式与您的日期时间相匹配时,系统将自动触发集成流的运行。

Cron 表达式结构

Cron 表达式是一个字符串,由6个必要的设置组成,同时支持可选的年份设置。
通常 Cron 表达式设置由空格分开,主要结构为:秒 分 小时 日期 月份 星期 (年,可选)。

字段说明

字段
允许值
允许的特殊字符
是否必须
秒(Seconds)
0 - 59的整数
, - * / 四个字符
分(Minutes)
0 - 59的整数
, - * / 四个字符
小时(Hours)
0 - 23的整数
, - * / 四个字符
日期(DayofMonth)
1 - 31的整数(需要考虑当月天数)
,- * ? / 五个字符
月份(Month)
1 - 12的整数(JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、DEC)
, - * / 四个字符
星期(DayofWeek)
1 - 7的整数或者(SUN、MON、TUES、WED、THUR、FRI、SAT(1=MON,7=SUN))
, - * ? / 五个字符
年(Year)
1970 - 2099的整数
, - * /四个字符

特殊字符说明

每一个字段都使用数字,还可出现如下特殊字符,它们的含义是:
*:表示匹配任意值。假如在分字段使用*,即表示每分钟都将执行一次。
?:表示无指定字段,只能用在日期和星期两个字段。
-:表示匹配范围。例如在分钟字段使用5-20,表示在5分到20分钟之间,每分钟执行一次 。
/:表示从起始时间开始执行,每隔固定时间执行一次。例如在分钟字段使用5/20,表示从5分开始,每隔20分钟执行一次,也即25分、45分各执行一次。
,:表示列出枚举值。例如:在分钟字段使用5,20,表示在5分和20分各执行一次。

示例

表达式
解释
0 0 12 * * ?
每天中午12:00执行一次
0 15 10 ? * *
每天上午10:15执行一次,其中0 15 10 ? * *、0 15 10 * * ?、0 15 10 * * ? * 三个表达式效果相同
0 15 10 * * ? 2020
在2020年的每天的10:15执行一次
0 * 14 * * ?
每天的14:00 - 14:59时间段,每隔1分钟执行一次
0 0/5 14 * * ?
每天的14:00 - 14:55时间段,每隔5分钟执行一次
0 0/5 14,18 * * ?
每天的14:00 - 14:55,18:00 - 18:55,每隔5分钟执行一次
0 0-5 14 * * ?
每天的14:00 - 14:05时间段,每隔1分钟执行一次
0 10,44 14 ? 3 WED
三月份每周三的下午14:10和14:44各执行一次
0 15 10 ? * MON-FRI
每周周一至周五每天上午10:15执行一次
0 15 10 15 * ?
每个月的第15天的上午10:15执行一次
0 0 12 1/5 * ?
每月1号开始,每隔5天每天中午12:00执行一次
0 11 11 11 11 ?
每年的11月11日11:11执行一次