设置定时任务触发规则
定时任务触发规则支持输入 Crontab 表达式。
时间转换
时间转换规则:本地时间 - 时区偏移量 = UTC
以北京时间转 UTC 时间为例:
北京位于东八区,北京时间与 UTC 相差 8 小时,时间转换规则为:
北京时间 - 8 = UTC
示例 1:北京时间 9:42 转换为 UTC 时间:42 09 - 00 08 = 42 01,表示 UTC 时间为凌晨 1:42 。
示例 2:北京时间凌晨 4:32 转换为 UTC 时间:32 04 - 00 08 = -68 03。若结果为负数,表示前一天,需要再转换一次:-68 03 + 00 24 = 32 20,表示 UTC 时间为前一天晚上 8:32 。
编写 Crontab 表达式
Crontab 的基本格式和值范围:minute hour day month weekday,对应的值范围如下表所示:
minute hour day month weekday 字段中允许使用的特殊字符包括:
,:值列表分隔符,用于指定多个值。例如:1,2,5,7,8,9。-:用户自定义的值范围。例如:2-4,表示 2、3、4。*:表示整个时间段。例如用于分钟时,表示每分钟。/:用于指定值的增量。例如:n/m表示从 n 开始,每次增加 m。
常见示例:
-
输入
30 18 25 12 *表示任务在12 月 25 日 18:30:00触发。 -
输入
30 18 25 * 6表示任务在每周六的18:30:00触发。 -
输入
30 18 * * 6表示任务在每周六的18:30:00触发。 -
输入
* 18 * * *表示任务从18:00:00开始每分钟触发(包含18:00:00)。 -
输入
0 18 1,10,22 * *表示任务在每月的 1 日、10 日和 22 日的18:00:00触发。 -
输入
0,30 18-23 * * *表示任务在每天 18:00 至 23:00 每小时的 0 分和 30 分触发。 -
输入
* */1 * * *表示任务每分钟触发。 -
输入
* 2-7/1 * * *表示任务每天凌晨 2 点至 7 点之间每分钟触发。 -
输入
0 11 4 * mon-wed表示任务在每月 4 日及每周一至周三的11:00触发。