Cron 定时任务表达式
基本语法
共 7 位,最后一位可选,可以不写,至少 6 位,每位之间用空格分隔,从左到右各位置分别是:
| 位置 | 意义 | 取值 | 支持的符号 |
|---|---|---|---|
| 1 | 秒 | 0-59 | , - * / |
| 2 | 分 | 0-59 | , - * / |
| 3 | 时 | 0-23 | , - * / |
| 4 | 日 | 1-31 | , - * ? / L W C |
| 5 | 月 | 1-12 或 JAN - DEC | , - * / |
| 6 | 周 | 1-7 或 MON - SAT | , - * ? / L C # |
| 7 | 年 | 空或 1970-2099 | , - * / |
注:Cron 表达式对日期英文缩写、特殊字符大小写不敏感。
符号说明
| 符号 | 名称 | 功能 |
|---|---|---|
* |
星号 | 表示重复对应位置上的周期,比如在第四位上表示每日 |
, |
逗号 | 代表一个列表值(指定几个值),表示多个指定时间,如周位上SAT,SUN表示每周六周日 |
? |
问号 | 无意义,占位符,只能在日、周位上 |
- |
减号 | 表示一个范围,如时位上 20-22表示 20、21、22点 |
/ |
斜杠 | a/b 可以表示以 a 为起点步长为 b 的时间序列,如日位上10/10表示10日20日30日 |
L |
Last | 可以用在 “日”和“周几”两个字段;月份最后一天(用在日字段上)或星期六(用在周字段上)。如果是在”周几“字段中使用时,可以跟在某个数字之后,表示 ”该月最后一个星期几“周位上 6L 表示月份的最后一个周五 |
W |
Weekday | 可用于 ”日“ 字段,用来指定离给定日期最近的工作日(周一到周五)但它不会越过当月的值的范围边界,如 ”15W“,表示 ”离该月15日最近的工作日“;3W 3日如是周五,则在6日(周一)执行。 |
# |
井号 | 可用于 “周”字段;表示“该月第几个周几”。比如 “6#3” 表示该月第三个周五(6表示周五,#3 表示该月第三个);“2#1” 表示该月第一个周一; “4#5” 表示该月第五个周三。 |
C |
Calendar | 关联的“日历”的计算结果,很少用。 |
注:L” 和 “W” 可在日位中联合使用,LW 表示这个月最后一周的工作日
示例
1 | 0 5 * * * ? 每五分钟 |