简述
Cron 表达式是一个具有时间含义的字符串,字符串以 5~6 个空格隔开,分为 6~7 个域,格式为X X X X X X
。其中X
是一个域的占位符。最后一个代表年份的域非必须,可以省略。单个域有多个取值时,使用半角逗号,隔开取值。每个域可以是确定的取值,也可以是具有逻辑意义的特殊字符,每个域最多支持一个前导零。例如
指定 2022 年每天上午 8:15 执行任务,Cron 表达式可指定为 `0 15 8 ? * * 2022`或者
`0 15 08 ? * * 2022`,但是不能指定为`0 15 008 ? * * 2022`
域的取值及字符用法
域 是否必需 取值范围 特殊字符 秒 是 [0, 59] * , - / 分钟 是 [0, 59] * , - / 小时 是 [0, 23] * , - / 日期 是 [1, 31] * , - / ? L W 月份 是 [1, 12]或[JAN, DEC] * , - / 星期 是 [1, 7]或[MON, SUN]。若您使用[1, 7]表达方式,1
代表星期一,7
代表星期日。 * , - / ? L # 年 否 [当前年份,2099] * , - /
用法实例
示例 说明 0 15 10 ? * *
每天上午10:15执行任务 0 15 10 * * ?
每天上午10:15执行任务 0 0 12 * * ?
每天中午12:00执行任务 0 0 10,14,16 * * ?
每天上午10:00点、下午14:00以及下午16:00执行任务 0 0/30 9-17 * * ?
每天上午09:00到下午17:00时间段内每隔半小时执行任务 0 * 14 * * ?
每天下午14:00到下午14:59时间段内每隔1分钟执行任务 0 0-5 14 * * ?
每天下午14:00到下午14:05时间段内每隔1分钟执行任务 0 0/5 14 * * ?
每天下午14:00到下午14:55时间段内每隔5分钟执行任务 0 0/5 14,18 * * ?
每天下午14:00到下午14:55、下午18:00到下午18:55时间段内每隔5分钟执行任务 0 0 12 ? * WED
每个星期三中午12:00执行任务 0 15 10 15 * ?
每月15日上午10:15执行任务 0 15 10 L * ?
每月最后一日上午10:15执行任务 0 15 10 ? * 6L
每月最后一个星期六上午10:15执行任务 0 15 10 ? * 6#3
每月第三个星期六上午10:15执行任务 0 10,44 14 ? 3 WED
每年3月的每个星期三下午14:10和14:44执行任务 0 15 10 ? * * 2022
2022年每天上午10:15执行任务 0 15 10 ? * * *
每年每天上午10:15执行任务 0 0/5 14,18 * * ? 2022
2022年每天下午14:00到下午14:55、下午18:00到下午18:55时间段内每隔5分钟执行任务 0 15 10 ? * 6#3 2022,2023
2022年至2023年每月第三个星期六上午10:15执行任务 0 0/30 9-17 * * ? 2022-2025
2022年至2025年每天上午09:00到下午17:30时间段内每隔半小时执行任务 0 10,44 14 ? 3 WED 2022/2
从2022年开始,每隔两年3月的每个星期三下午14:10和14:44执行任务