Spring cron表达式详解

一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:

代表含义

是否必须

允许的取值范围

允许的特殊符号

0-59

, - * /

分钟

0-59

, - * /

小时

0-23

, - * /

月份中的天数

1-31

, - * / ? L W C

月份

1-12JAN-DEC

, - * /

星期中的天数

1-7SUN-SAT

, - * / ? L #

empty1970-2099

, - * /

*:代表所有可取的值,比如说,如果分钟为*,那么就表示每一分钟;

?:只有月份中的天数和星期中的天数可以使用?来表示,因为“月份中的天数”和“星

 期中的天数”不能同时设值,所以我们可以通过?来表明不想设置的那个元素;

-:用来指定一个范围类的值,比如说,小时为”10-12”,它就表示10点、11点、12

,:逗号用来分隔一个元素的多个值,比如说“星期中的天数”为"MON,WED,FRI"

 它就表示周一、周三和周五。

/:斜杠用来表示间隔,比如说,秒数为5/10,那么它就表示第5秒、第15秒、第

 25秒、第35秒、第45秒和第55秒。斜杠前的数字表示起始位置,后面的数字表

 示每次增长的数量。

L:仅用在“月份中的天数”和“星期中的天数”元素中。如果是前者,它代表某月的

 最后一天;如果是后者,它就表示是周六。有一点特别的,当表示“星期中的天数”

 时,L可以和数字一起用,比如”6L”,它就表示这个月的最后一个星期五。

W:只能用来表示“月份中的天数”,和数字一起使用。比如说15W,它就表示离这

   个月15号最近的工作日。使用W时,“月份中的天数”必须为一个指定的日期,

   而不能是一个范围的日期。

#:只能用来表示“星期中的天数”。例如5#4,它表示某个月中第四个星期四,2#1

  表示某个月中第一个星期一。#前面的数字代表星期,后面的数字表示是第几个。

原文地址:https://www.cnblogs.com/imsoft/p/6472938.html