# cron表达式
- 一个字符串,由6个空格分成7个域,每个域代表一个时间含义
- cron从左至右分别为:秒、分、时、月份中的日期、月份、星期中的日期、年份
- 通常"年"的部分可以省略,实际常用的由前六部分组成
# 时间领域值
时间领域 | 允许值 | 允许的特殊字符 |
---|---|---|
秒 | 0-59的整数 | ,- * / |
分 | 0-59的整数 | ,- * / |
时 | 0-23的整数 | ,- * / |
日期 | 1-31的整数(但要考虑月份的天数) | ,- * / ? L W C |
月份 | 1-12的整数 | ,- * / |
星期 | 1-7的整数 | ,- * / ? # L C |
年(可选,留空) | 1970-2099 | ,- * / |
# 特殊字符含义
特殊字符 | 含义 | 实例 |
---|---|---|
* | 所有可能的值 | 月域中,表示每个月;星期域中,表示星期的每一天; |
, | 列出枚举值 | 分钟域中,5,20表示每5分钟,和20分钟 触发 |
- | 范围 | 分钟域中,5-20表示从5分钟到20分钟之间,每隔一分钟触发一次 |
/ | 指定数量的增量 | 分钟域中,0/15表示从第0分钟开始,每隔15分钟触发一次; |
? | 不指定值,仅日期和星期支持该值 | 当日期或星期其一指定了值后,为避免冲突需要将另一个域设为? |
L | Last的首字母,日期和星期支持; | 月最后一天;星期最后一天;星期域中6L表示最后一个星期六; |
W | Weekday,除周末外的工作日 | 5W表示:如果5日时星期六则在4日触发;如果5日在星期天,则星期一触发;如果5日在周一到周五之间,则5日触发; |
C | Calender | 略 |
# | 每个月第几个星期几,仅星期域支持 | 4#2表示 某月的第二个星期四 |