cron表达式是由6个或者7个域通过空格组合成的字符串。
示例:
每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
这7个域按顺序分别为:
秒
分
时
日(月份中的天数)
月
日(星期中的天数)
年
对应英文名称分别为:
Seconds
Minutes
Hours
DayOfMonth
Month
DayOfWeek
Year
每一个域都以数字表示,同时还有9个特殊符号可以表示特殊意义:
* :表示匹配该域的任意值
? :表示匹配该域的任意值,但只能在DayofMonth和DayofWeek两个域使用。由于DayofMonth和 DayofWeek会相互影响,实际并不会匹配任意值,两个域会互相有所限制。
- :表示范围
/ :表示间隔
, :表示枚举
L:表示最后,但只能在DayofMonth和DayofWeek两个域使用。
W:表示有效工作日(周一到周五),只能在DayofMonth域使用,系统将在离指定日期的最近的有效工作日触发事件。
LW:表示在某月最后一个工作日。
# :表示某月的第几个星期几。4#2,某月的第二个星期三。
注意事项:
1.这7个域中除了DayOfWeek是从1开始计数以及Year是1970-2099外,其他的都是从0开始计数。
2.DayOfWeek(1为SUN 即 SUN,MON,TUE,WED,THU,FRI,SAT)