- Scheduled注解中的cron表达式含义
- 时间元素
cron有6-7个用空格分开的时间元素
时间元素| 字段 | 范围 | 允许的特殊值 |
|---|---|---|
| 秒 | 0-59 | , - * / |
| 分 | 0-59 | , - * / |
| 小时 | 0-59 | , - * / |
| 日期 | 1-31 | , - * ? / L W C |
| 月份 | 1-12(常用,也可以英文前三个字母) | , - * / |
| 星期 | 1-7(常用,也可以SUN - SAT) | , - * ? / L C # |
| 年(可选) | 1970-2099 | , - * / |
cron表达式中6个元素依次分别表示: 秒, 分, 时, 日期, 月份, 星期, 年(可以省略) 例1: 0 0 10,14 * * ? '*' 表示通配符,代表所有可能 '?' '?'只用于日期和星期,因为星期和日期会冲突,所以必须有一个为'?' ',' 表示一个列表,所以表达式为每天10点和下午2点 例2: 0 0 10-14 * * ? '-' 表示一个连续区间,所以表达式为每天10点到下午2点 例3: 0 0 10-14/1 * * ? '/' 表示间隔时间,所以表达式为每天10点到下午2点每隔1个小时 例4: 0 0/5 10 * * ? 0/15 表示从0分钟开始增量为15,和 0,15,30,45 含义一样 3-15 表示从第3分钟开始增量为15,'/'左边不是必须为0或者一个连续区间 表达式意思为: 每天10点到10:59之间每隔5分钟触发 例5: 0 15 10 ? * 6L 'L' 表示最后,last的简写,所以表达式意思是: 每个月最后一个周五的10:15分开始执行 至于为什么6L是最后一个周五,是因为星期是 7 1 2 3 4 5 6 顺序排列,所以6表示周五 例6: 0 0 12 W * ? 'W' 表示工作日,所以表达式为每个工作日的12点 'LW' 连用即表示最后一个工作日 'C' 指和calendar联系后计算过的值 例:在日期字段用“5C”指在这个月第5天或之后包括calendar的第一天,在星期字段用“1C”指在这周日或之后包括calendar的第一天,因为不会用所以不写示例 例7: 0 15 10 ? * 6#3 '#' 用于确定每个月的第几个星期几,只出现在星期字段中, #后面是第几个,前面是星期几 所以表达式为每个月第三个星期五的10点15分
https://www.jianshu.com/p/1979cadc0dd0



