cron 表达式
一、cron表达式的含义
像这样的一个表达式 * * * * * * ? ,每一个占位符锁表达的含义分别是:秒 分 时 日 月 周 年(可选)
占位符 | 允许的值 | 可填的特殊字符 |
---|---|---|
秒 | 0-59 | , - * / |
分 | 0-59 | , - * / |
时 | 0-11 | , - * / |
日 | 1-31 | , - * ? / L W C |
月 | 1-12 or JAN-DEC | , - * / |
周 | 1-7 or SUN-SAT | , - * ? / L C # |
年(可选) | 1970-2099 | , - * / |
二、特殊字符的含义
- , :指定多个值。
- -:表示一个区间。
- / :指定一个值的增加幅度。n/m表示从n开始,每次增加m。
- L:是last的缩写,表示最后一天,用在日表示一个月中的最后一天,用在周表示每周最后一天,即星期六。
- 1L:表示第一个星期最后一天,2L表示第二个星期最后一天,以此类推。
- L-3:表示最后一天减3天
- W:表示工作日,15W表示离15号最近的工作日
- #:表示第n个星期几;4#3指当月第三个星期四
三、范例
- 0 1,2 * * * * ?:表示在1分、2分的时候执行
- 0 0 0 1-3 * * ?:表示1号、2号、3号的0点执行
- 0/5 * * * * * ?:表示从0秒开始,每五秒执行一次
- 0 0 23 L * ?:表示每月最后一天的23点执行一次
- 0 0 1 ? * L:表示每月最后一周的星期天1点执行
- 0 0 0 ?2 3L :表示2月第3个星期的最后一天的零点执行
- 0 0 0 0 L-1 ?:表示每月最后一天减一天,即每月倒数第二天