cron表达式
概念
cron表达式是由若干数字、空格、符号按一定的规则,组成一组字符串,从而表达时间的信息。与正则表达式类似,都是一个字符串表示一些信息
结构
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域(一般6个域),每一个域代表一个含义,如: A B C D E F
,省略G
位,表示年
[A秒] [B分] [C时] [D日] [E月] [F星期] [G年]
特殊字符
?
字符: 表示不确定的一个值,即任意一个合法值, 如每月的8号触发一个操作,但不关心是周几,我们可以这么设置0 0 0 8 * ?
。,
字符: 表示表示数个值,即枚举,如在分
域中定义8,12,35
, 表示分别在第8分,第12分 第35分执行该定时任务。-
字符: 表示连续的范围,如在时
域中定义20-22
,表示在20,21,22
点每小时触发一次。*
字符: 表示所有值,可解读为 “每”, 如在分
域中定义*
,表示每分钟都会触发任务,在日
域中定义*
,表示每天触发任务。/
字符: 表示指定一个值的增加幅度。n/m表示从n开始,每次增加m, 如在秒
上定义5/10
表示从 第 5 秒开始 每 10 秒执行一次。#
字符: 表示表示每月的第几个周几,只能作用于周
上。例如2#3
表示在每月的第三个周二。L
字符: 表示表示英文中的LAST 的意思,只能在日
和周
中使用, 其中,在日
中设置表示当月的最后一天,在周
中设置表示周六,相当于7或SAT
W
字符: 表示离给定日期最近的工作日(周一到周五), 只能在日
中使用且只能用在具体的数字之后. 如在日
上置15W
,表示离每月15号最近的那个工作日触发。假如15号正好是周六,则找最近的周五(14号)触发, 如果15号是周未,则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果是1W
就只能往本月的下一个最近的工作日推不能跨月往上一个月推。
cron表达式各个域的含义
域 | 是否必填 | 值以及范围 | 通配符 |
---|---|---|---|
秒 | 是 | 0-59 | , – * / |
分 | 是 | 0-59 | , – * / |
时 | 是 | 0-23 | , – * / |
日 | 是 | 1-31 | , – * ? / L W |
月 | 是 | 1-12 或 JAN-DEC | , – * / |
周 | 是 | 1-7 或 SUN-SAT | , – * ? / L # |
年 | 否 | 1970-2099 | , – * / |
常用实例
[A秒] [B分] [C时] [D日] [E月] [F星期] [G年]
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
0 0 12 * * ? 每天中午12点触发
0 15 10 ? * * 每天上午10:15触发
0 15 10 * * ? 每天上午10:15触发
0 15 10 * * ? 每天上午10:15触发
0 15 10 * * ? 2022 2022年的每天上午10:15触发
0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发
0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发
0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发
0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发
0 15 10 ? * MON-FRI 周一至周五的上午10:15触发
0 15 10 15 * ? 每月15日上午10:15触发
0 15 10 L * ? 每月最后一日的上午10:15触发
0 15 10 ? * 6L 每月的最后一个星期五上午10:15触发
0 15 10 ? * 6L 2022-2023 2022年至2023年的每月的最后一个星期五上午10:15触发
0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发
0 0 23 * * ? 每天23点执行一次
0 0 1 * * ? 每天凌晨1点执行一次
0 0 1 1 * ? 每月1号凌晨1点执行一次
0 0 23 L * ? 每月最后一天23点执行一次
0 0 1 ? * L 每周星期天凌晨1点实行一次
0 26,29,33 * * * ? 在26分、29分、33分执行一次
0 0 0,13,18,21 * * ? 每天的0点、13点、18点、21点都执行一次
今天的文章cron表达式详解分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/67220.html