【学习笔记】 CRON表达式

cron表达式包含7个域,用空格进行分割,其中年可选填

    秒 分 时 天/月 月 天/星期 年

          0     0     0       *         *       ?           

上面的表达式表示在每天00:00:00执行一次。

值范围

有效值 描述
0~59的整数  以及  , - * /  
0~59的整数  以及  , - * /  
0~23的整数  以及  , - * /  
天/月 1~31的整数  以及所有符号  
1~12的整数  月份英文缩写  以及 , - * / 英文缩写如JAN 
天/星期 1~7的整数    星期英文缩写  以及除W外的所有符号
1表示周日 2表示周一   英文缩写如MON
年(可选) 1970~2099  

符号

符号     描述【开头的方括号表示允许的域】 举例
, 表示枚举,在某个域可以指定多个值,在这个几个值下都可以触发 0 0 0,4,8 * * ? 表示在每天0,4,8点各触发一次
- 表示范围,在某个范围内,都会触发时间,参数:起始时刻-结束时刻 0 0 0-8 * * ? 表示在每天0-8点各触发一次
【天/月,天/星期】 表示不指定,用于解决【天/月】【天/星期】两者冲突的问题,当其中一个有值时,另一个需要指定为? 0 0 0 ? * MON 表示在每个星期一的0点触发
* 表示任意值,在该域下的所有值都会触发 0 0 * * * ? 表示在每天每小时的0分0秒时都触发一次
L 天/月,天/星期表示最后,用于指定如最后一天 0 0 0 L * ? 表示每月的最后一天的0点0分0秒触发一次
W 【天/月】表示该月中最近的工作日(周一到周五),可与数字,L连用,LW表示每月最后一个工作日 0 0 0 1W * ? 表示距离每月1号最近的工作日的0点0分0秒触发一次
/ 表示间隔,用于如每隔30分钟执行一次这样的场景,参数:开始时刻/间隔 0 0 0/6 * * ?表示从0点开始,每隔6小时执行一次,分别是0点,6点,12点,18点。
# 【天/星期表示第几个 用于指定每月的第几个星期,参数: 第几个#星期几 0 0 0 ? * 1#3  表示每月的第一个星期四的0点0分0秒触发一次

用过的示例

  • 0 0 0 * * ? 每天的0点0分0秒触发

其余待补充...

原文地址:https://www.cnblogs.com/syui-terra/p/14041353.html