1.前言
我们经常使用 cron 表达式来定义定时任务的执行策略,今天我们就总结一下 cron 表达式的一些相关知识。
2. cron 表达式的定义
cron
表达式是一个字符串,该字符串由
6
个空格分为
7
个域,每一个域代表一个时间含义。 格式如下:
[秒] [分] [时] [日] [月] [周] [年]复制代码
通常定义 “年” 的部分可以省略,实际常用的由 前六部分组成
2.1 cron各部定义
关于 cron 的各个域的定义如下表格所示:
域 | 是否必填 | 值以及范围 | 通配符 |
---|---|---|---|
秒 |
是
|
0-59 | , - * / |
分 |
是
|
0-59 | , - * / |
时 |
是
|
0-23 | , - * / |
日 |
是
|
1-31 | , - * ? / L W |
月 |
是
|
1-12 或 JAN-DEC | , - * / |
周 |
是
|
1-7 或 SUN-SAT
|
, - * ? / L # |
年 |
否
|
1970-2099 | , - * / |
上面列表中值范围还是比较好理解的,但是比较令开发者难以理解的就是通配符,其实 cron 表达式的难点也在于通配符。我们在下一个章节进行说明