cron表达式是由若干数字、空格、符号按一定的规则,组成一组字符串,从而表达时间的信息。
与正则表达式类似,都是一个字符串表示一些信息
cron表达式标准结构
cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义。
cron从左到右(用空格隔开
1秒 2分 3小时 4月份中的日期 5月份 6星期中的日期 7年份
语法说明
cron表达式对日期英文缩写、特殊字符大小写不敏感
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 | , - * / |
符号说明
符号 | 名称 | 功能 |
---|---|---|
* | 星号 | 表示重复对应位置上的周期,比如在第四位上表示每日 |
, | 逗号 | 代表一个列表值,表示多个指定时间,如周位上SAT,SUN表示每周六周日 |
? | 问号 | 无意义,占位符,只能在日、周位上 |
- | 减号 | 表示一个范围,如时位上 20-22表示 20、21、22点 |
/ | 斜杠 | a/b 可以表示以 a 为起点步长为 b 的时间序列,如日位上10/10表示10日20日30日 |
L | Last | 月份最后一天或星期六,周位上 6L 表示月份的最后一个周五 |
W | Weekday | 后边最近的工作日,3W 3日如是周五,则在6日(周一)执行 |
# | 井号 | a#b 表示当月第 b 个星期 a,如 6#1 当月第一个星期五 |
C | Calendar | 关联的“日历”的计算结果 |