cron 表达式: 秒 分 时 日 月 星期几
@Scheduled(cron = “0 0 1 * * ?”) 表达式的各取值
位置 | 取值 | 可指定的字符 |
---|---|---|
秒 | 0-59 | , - * / |
分 | 0-59 | , - * / |
时 | 0-23 | , - * / |
日 | 1-31 | , - * ? / L W C |
月 | 1-12 | , - * / |
星期几 | 0-7或SUN-SAT 0和7都是周日,1-6是周一到周六 | , - * ? / L C # |
可指定的字符说明
字符 | 说明 |
---|---|
, | 枚举,一个位置上指定多个值,以逗号,分隔 |
- | 区间 |
* | 任意 |
/ | 步长,每隔多久执行一次 |
? | 日/星期冲突匹配 ,指定哪个值,另外个就是?,比如:* * * ?* 1每周1执行,则日用?不能用*,不是每一天都是周一;* * * * 2* ?每月2号,则星期不能用* |
L | 最后 |
W | 工作日 |
C | 和calendar联系后计算过的值 |
# | 这个月的第几个星期几,4#2,第2个星期四 |
样例
表达式 | 说明 |
---|---|
1-5 * * * * | 1到5秒,每秒都触发任务 |
*/5 * * * * | 每隔5秒执行一次 |
0 */1 * * * | 每隔1分钟执行一次 |
0 0 5-15 * * | 每天5-15点整点触发 |
0 0-5 14 * * | 在每天下午2点到下午2:05期间的每1分钟触发 |
0 0/5 14 * * | 在每天下午2点到下午2:55期间的每5分钟触发 |
0 0/5 14,18 * * | 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 |
0 0/30 9-17 * * | 朝九晚五工作时间内每半小时 |
0 0 12 ? * WED | 表示每个星期三中午12点 |
0 10,44 14 ? 3 WED | 每年三月的星期三的下午2:10和2:44触发 |
0 0 23 L * ? | 每月最后一天23点执行一次 |
0 15 10 LW * ? | 每个月最后一个工作日的10点15分0秒触发任务 |
0 15 10 ? * 5#3 | 每个月第三周的星期五的10点15分0秒触发任务 |
工具
在线生成表达式神器:https://qqe2.com/cron
我写了的:每月5号晚11点执行一次