Class ClockTriggerBuilder

ClockTriggerBuilder

时钟触发器的构建器。

方法

方法返回类型简介
after(durationMilliseconds)ClockTriggerBuilder指定触发器当前运行时间后的最短时长(以毫秒为单位)。
at(date)ClockTriggerBuilder指定触发器的运行时间。
atDate(year, month, day)ClockTriggerBuilder指定触发器在指定日期触发,默认日期临近午夜(+/- 15 分钟)。
atHour(hour)ClockTriggerBuilder指定触发器的运行时间(小时)。
create()Trigger创建触发器。
everyDays(n)ClockTriggerBuilder指定每 n 天运行一次触发器。
everyHours(n)ClockTriggerBuilder指定每 n 小时运行一次触发器。
everyMinutes(n)ClockTriggerBuilder指定每 n 分钟运行一次触发器。
everyWeeks(n)ClockTriggerBuilder指定每 n 周运行触发器一次。
inTimezone(timezone)ClockTriggerBuilder指定触发器运行时的指定日期/时间的时区。
nearMinute(minute)ClockTriggerBuilder指定触发器运行的分钟(正负 15 分钟)。
onMonthDay(day)ClockTriggerBuilder指定在一个月中的哪一天运行触发器。
onWeekDay(day)ClockTriggerBuilder指定在星期几运行触发器。

详细文档

after(durationMilliseconds)

指定触发器当前运行时间后的最短时长(以毫秒为单位)。 实际时长可能会有所不同,但不会低于您指定的最短时间。

// Creates a trigger that runs 10 minutes later
ScriptApp.newTrigger("myFunction")
  .timeBased()
  .after(10 * 60 * 1000)
  .create();

参数

名称类型说明
durationMillisecondsInteger指定时间过后的最短持续时间(以毫秒为单位), 触发器应该运行

返回

ClockTriggerBuilder - 用于链接的构建器。


at(date)

指定触发器的运行时间。

// Creates a trigger for December 1, 2012
var triggerDay = new Date(2012, 11, 1);
ScriptApp.newTrigger("myFunction")
  .timeBased()
  .at(triggerDay)
  .create();

参数

名称类型说明
dateDate一个 Date 对象,表示触发器应何时运行。

返回

ClockTriggerBuilder - 用于链接的构建器。


atDate(year, month, day)

指定触发器在指定日期触发,默认日期临近午夜(+/- 15 分钟)。

// Schedules for January 1st, 2013
ScriptApp.newTrigger("myFunction")
  .timeBased()
  .atDate(2013, 1, 1)
  .create();

参数

名称类型说明
yearInteger安排触发器的日历年。
monthInteger安排触发器的日历月(应为介于 1 到 12 之间的数字, )。
dayInteger安排触发器的日历日(应为介于 1 到 31 之间的数字, )。

返回

ClockTriggerBuilder - 用于链接的构建器。


atHour(hour)

指定触发器的运行时间(小时)。

// Runs between 5am-6am in the timezone of the script
ScriptApp.newTrigger("myFunction")
  .timeBased()
  .atHour(5)
  .everyDays(1) // Frequency is required if you are using atHour() or nearMinute()
  .create();

参数

名称类型说明
hourInteger触发时的时间。

返回

ClockTriggerBuilder - 用于链接的构建器。


create()

创建触发器。

返回

Trigger - 新创建的预定触发器。


everyDays(n)

指定每 n 天运行一次触发器。

ScriptApp.newTrigger("myFunction")
  .timeBased()
  .everyDays(3)
  .create();

参数

名称类型说明
nInteger执行间隔的天数。

返回

ClockTriggerBuilder - 用于链接的构建器。


everyHours(n)

指定每 n 小时运行一次触发器。

ScriptApp.newTrigger("myFunction")
  .timeBased()
  .everyHours(12)
  .create();

参数

名称类型说明
nInteger执行间隔的小时数。

返回

ClockTriggerBuilder - 用于链接的构建器。


everyMinutes(n)

指定每 n 分钟运行一次触发器。n 必须是 1、5、10、15 或 30。

ScriptApp.newTrigger("myFunction")
  .timeBased()
  .everyMinutes(10)
  .create();

参数

名称类型说明
nInteger执行间隔的分钟数。

返回

ClockTriggerBuilder - 用于链接的构建器。


everyWeeks(n)

指定每 n 周运行触发器一次。

ScriptApp.newTrigger("myFunction")
  .timeBased()
  .everyWeeks(2)
  .onWeekDay(ScriptApp.WeekDay.FRIDAY)
  .create();

参数

名称类型说明
nInteger执行间隔的周数。

返回

ClockTriggerBuilder - 用于链接的构建器。


inTimezone(timezone)

指定触发器运行时的指定日期/时间的时区。默认情况下, 与脚本的时区相同

有效时区字符串列表与 Joda.org 列出的有效时区字符串相对应。时区字符串无效 会导致脚本抛出错误。

// Schedule the trigger to execute at noon every day in the US/Pacific time zone
ScriptApp.newTrigger("myFunction")
  .timeBased()
  .atHour(12)
  .everyDays(1)
  .inTimezone("America/Los_Angeles")
  .create();

参数

名称类型说明
timezoneString用于处理事件中的时间信息的时区。

返回

ClockTriggerBuilder - 此 ClockTriggerBuilder,用于链接。


nearMinute(minute)

指定触发器运行的分钟(正负 15 分钟)。如果未调用 nearMinute(),将使用随机分钟值。

// Runs at approximately 5:30am in the timezone of the script
ScriptApp.newTrigger("myFunction")
  .timeBased()
  .atHour(5)
  .nearMinute(30)
  .everyDays(1) // Frequency is required if you are using atHour() or nearMinute()
  .create();

参数

名称类型说明
minuteInteger触发时间的分钟数。

返回

ClockTriggerBuilder - 用于链接的构建器。


onMonthDay(day)

指定在一个月中的哪一天运行触发器。

// Schedules for the first of every month
ScriptApp.newTrigger("myFunction")
  .timeBased()
  .onMonthDay(1)
  .create();

参数

名称类型说明
dayInteger应在一个月中的哪一天安排触发器。

返回

ClockTriggerBuilder - 用于链接的构建器。


onWeekDay(day)

指定在星期几运行触发器。

ScriptApp.newTrigger("myFunction")
  .timeBased()
  .onWeekDay(ScriptApp.WeekDay.FRIDAY)
  .create();

参数

名称类型说明
dayWeekday星期几触发。

返回

ClockTriggerBuilder - 用于链接的构建器。