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执行一次 |