在工作中可能会遇到定时任务的情况,或者是自定义时间范围,通常会使用cron表达式,现介绍cron表达式的语法。
cron表达式包括五个字段,由空格分隔。
从左到右,五个cron字段有不同的意义:
分钟:0-59
小时:0-23
日期:1-31
月份:1-12
周几:0-6(0表示周日)
用法:
格式 | 描述 | 含义 | 小时字段示例 | 示例含义 |
N | 一个值 | 仅限此值 | 9 | 上午9点 |
N,M | 多个以逗号分隔的值 | 仅限列出的值 | 9,15 | 上午9点,下午3点 |
I-J | 值范围 | 此范围内所有的值 | 9-17 | 上午9点到下午5点 |
* | 表示所有值 | 此字段中的每个值 | * | 每个小时 |
*/N | 此字段中的每个N的倍数值 | 此字段中的该整数倍的所有值 | */3 | 每3小时 |
注意:使用cron除数
在除数为/N的表达式中,仅使用字段中除数N整数倍的值,如果字段中余数小于N,则值重置为0。
例如:*/9 * * * *表示每9分钟,范围为0,9,18,27,36,45,54
使用cron值范围和除数
除数N适用于第一个字段,该除数不适用于第二个范围。
使用的第一个字段值是N的整倍数且在指定范围内。
例如:分钟字段中的13-46/10产生以下所有值。
20,30,40
注意:所有值没有从13开始,而是从20开始的,因为20是10的第一个整数倍,且在13-46范围内。
以下为cron表达式的一些示例
*/5 * * * * 每五分钟
0 */12 * * * 每12小时一次
*/20 * * * 1-5 在周一到周五,每20分钟一次
0 9 1-7 * 1 在每个月的第一个周一,上午九点执行