设置定时任务触发规则

定时任务的定时触发规则支持输入 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 基本格式及取值范围分钟 小时 日 月 星期,对应的取值范围请参见下表:

分钟小时星期
[0-59][0-23][1-31][1-12] 或 [JAN-DEC][0-6] 或 [SUN-SAT]

分钟 小时 日 月 星期 位允许输入的特殊字符包括:

  • ,:值列表分隔符,用于指定多个值。例如: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 之间,每个小时的 00 分和 30 分 触发任务。

  • 输入 * */1 * * * 表示 每分钟 触发任务。

  • 输入 * 2-7/1 * * * 表示 每天 2 点到 7 点之间,每分钟 触发任务。

  • 输入 0 11 4 * mon-wed 表示 每月 4 日与每周一到周三的 11 点 触发任务。