1. 常用示例

  • 每隔5分钟执行一次(从0分开始) 0 0/5 * * * ?

  • 每小时执行一次(从0时开始) 0 0 0/1 * * ?

  • 每天的7点30分 0 30 7 * * ?

  • 周一到周五,每天早上的7点30分 0 30 7 ? * MON-FRI

  • 每个月的最后一天早上的10点整 0 0 10 L * ?

  • 每个月的最后一个工作日的晚上6点30分 0 30 18 LW * ?

  • 朝九晚五,每小时 0 0 9-17 * * ?

  • 2020年的8月份每个星期六和星期日早上10点28分28秒 28 28 10 ? 8 1,7 2020

  • 每个月的倒数第二天的早上8点整 0 0 8 L-1 * ?

2. 规则说明

2.1 占位含义

28 28 10 ? 8 1,7 2020

秒 分 时 天(月) 月 天(周) 年份(一般省略)

2.2 符号含义

*:表示所有可能的值

/:表示数值的增量,简单来说,比如分写上0/5表示从0分开始,每隔5分钟

?:仅用在天(月)和天(周),表示不指定值,当其中一个有值时,另外一个需要设为?

2.3 各位置允许字符

:0-59 , - * /

26:表示第26秒

5,16,27:表示第5秒、第16秒和第27秒

1-5:表示从1秒到5秒,就是1 2 3 4 5 秒

*:表示每一秒

2/15:表示从第2秒开始,每隔15秒,就是2 17 32 47 秒

:0-59 , - * /

26:表示第26分钟

5,16,27:表示第5分钟、第16分钟和第27分钟

1-5:表示从1秒到5分,就是第1 2 3 4 5 分钟

*:表示每一分钟

2/15:表示从第2分钟开始,每隔15分钟,就是2 17 32 47 分钟

:0-23 , - * /

10:表示早上10点

22:表示晚上10点

2,8,18,23:表示凌晨2点,早上8点,傍晚6点和晚上11点

9-17:表示朝九晚五,就是9 10 11 12 13 14 15 16 17 点

*:表示每小时

10/2:表示从早上10点开始,每隔2小时

天(月):1-31 , - * / ? L W C

31:表示31号(注意有的月份是没有31号的)

5,10,15:表示5号、10号和15号

8-17:表示8号到17号

*:表示所有可能的值(当指定为星号时,天(周)需指定为?)

5/9:表示从5号开始,每隔9天

?:当天(周)指定任意值的时候,天(月)需要设置为?

L:表示一个月中的最后一天

6L:表示倒数第6天

15W:W指工作日,如果15号不是周六日,则表示15号当天;如果15号是周六,则表示14号;如果15号是周日,则表示16号;如果31W是周日,则31W表示29号(周五),不会跨月

LW:指最后一个工作日

15C:表示第15天

:1-12 , - * /

10:表示10月份

5,10,11:表示5月份、10月份和11月份

4-8:表示4月份到8月份

*:表示所有可能的值

5/2:表示从5月份开始,每隔2个月,(就是5 7 9 11 次年5 次年7 次年9......)

1-12:也可以用JAN-DEC表示

天(周):MON-SAT , - * / ? L C

MON:表示周一

MON,TUE,FRI:表示周一,周二和周五

MON-FRI:表示从周一到周五

MON-WED,SAT:表示从周一到周三,和周六(就是周一、周二、周三和周六)

mon,tue,wed,thu,fri,sat,sun:表示周一到周日(大小写均可,取星期英文前三个字母,注意星期四是thu,而不是thur)

7L:表示最后一个周六(效果等同于SATL)(L表示last最后的意思,7表示周六,6表示周五,类推,1表示周日)

6C:表示周五以及之后包含周五的日期

7#2:表示第二个周六(#前面的数字表示星期,1表示周日,2表示周一,以此类推;#后面的数字表示第几个)

:留空 2020-2099 , - * /

2050:表示2050年

2020,2030,2040:表示2020年、2030年和2040年

2020-2030:表示2020年到2030年

*:表示所有可能的值

2020/10:表示从2020年开始,每隔10年,(就是2020,2030,2040......)