JAVA全系列 教程
3762个小节阅读:7089.3k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Spring Task依靠Cron表达式配置定时规则。Cron表达式是一个字符串,分为6或7个域,每一个域代表一个含义,以空格隔开。有如下两种语法格式:
Seconds
Minutes
Hours
DayofMonth
Month
DayofWeek
Year
Seconds
Minutes
Hours
DayofMonth
Month
DayofWeek
Seconds(秒):域中可出现
,
-
*
/
四个字符,以及0-59的整数
*
:表示匹配该域的任意值,在Seconds域使用*
,表示每秒钟都会触发,
:表示列出枚举值。在Seconds域使用5,20
,表示在5秒和20秒各触发一次。-
:表示范围。在Seconds域使用5-20
,表示从5秒到20秒每秒触发一次/
:表示起始时间开始触发,然后每隔固定时间触发一次。在Seconds域使用5/20
, 表示5秒触发一次,25秒,45秒分别触发一次。Minutes(分):域中可出现
,
-
*
/
四个字符,以及0-59的整数Hours(时):域中可出现
,
-
*
/
四个字符,以及0-23的整数DayofMonth(日期):域中可出现
,
-
*
/
?
L
W
C
八个字符,以及1-31的整数
C
:表示和当前日期相关联。在DayofMonth域使用5C
,表示在5日后的那一天触发,且每月的那天都会触发。比如当前是10号,那么每月15号都会触发。
L
:表示最后,在DayofMonth域使用L
,表示每个月的最后一天触发。
W
:表示工作日,在DayofMonth域用15W
,表示最接近这个月第15天的工作日触发,如果15号是周六,则在14号即周五触发;如果15号是周日,则在16号即周一触发;如果15号是周二则在当天触发。注:
- 该用法只会在当前月计算,不会到下月触发。比如在DayofMonth域用
31W
,31号是周日,那么会在29号触发而不是下月1号。- 在DayofMonth域用
LW
,表示这个月的最后一个工作日触发。Month(月份):域中可出现
,
-
*
/
四个字符,以及1-12的整数或JAN-DEC的单词缩写DayofWeek(星期):可出现
,
-
*
/
?
L
#
C
八个字符,以及1-7的整数或SUN-SAT 单词缩写,1代表星期天,7代表星期六
C
:在DayofWeek域使用2C
,表示在2日后的那一天触发,且每周的那天都会触发。比如当前是周一,那么每周三都会触发。L
:在DayofWeek域使用L
,表示在一周的最后一天即星期六触发。在DayofWeek域使用5L
,表示在一个月的最后一个星期四触发。#
:用来指定具体的周数,#
前面代表星期几,#
后面代表一个月的第几周,比如5#3
表示一个月第三周的星期四。?
:在无法确定是具体哪一天时使用,用于DayofMonth和DayofWeek域。例如在每月的20日零点触发1次,此时无法确定20日是星期几,写法如下:0 0 0 20 * ?
;或者在每月的最后一个周日触发,此时无法确定该日期是几号,写法如下:0 0 0 ? * 1L
Year(年份):域中可出现
,
-
*
/
四个字符,以及1970~2099的整数。该域可以省略,表示每年都触发。
实时效果反馈
1. 在Cron表达式中,*
表示
A 范围
B 匹配该域的任意值
C 列出枚举值
D 工作日
2. 在Cron表达式中,,
表示
A 范围
B 匹配该域的任意值
C 列出枚举值
D 工作日
答案
1=>B 2=>C