Class RecurrenceRule

重复规则

表示系列活动的重复发生规则。

请注意,此类的行为也与其所属的 EventRecurrence 类似,因此您可以将规则创建串联起来,如下所示:

const recurrence = CalendarApp.newRecurrence().addDailyRule().times(3).interval(2).addWeeklyExclusion().times(2);
times(times)interval(interval) 等修饰符会应用于最近添加的规则。

方法

方法返回类型简介
addDailyExclusion()RecurrenceRule添加一个用于排除每日发生的事件的规则。
addDailyRule()RecurrenceRule添加一个规则,使活动每天重复。
addDate(date)EventRecurrence添加一个规则,使活动在特定日期重复。
addDateExclusion(date)EventRecurrence添加一个用于排除特定日期的出现情况的规则。
addMonthlyExclusion()RecurrenceRule添加一个用于排除按月发生的事件的规则。
addMonthlyRule()RecurrenceRule添加一个规则,使事件每月重复一次。
addWeeklyExclusion()RecurrenceRule添加一个用于排除每周发生的事件的规则。
addWeeklyRule()RecurrenceRule添加一个规则,使活动每周重复。
addYearlyExclusion()RecurrenceRule添加一个用于排除每年发生的事件的规则。
addYearlyRule()RecurrenceRule添加一个规则,使活动每年重复。
interval(interval)RecurrenceRule将规则配置为仅在规则的时间单位的此时间间隔内应用。
onlyInMonth(month)RecurrenceRule将规则配置为仅适用于特定月份。
onlyInMonths(months)RecurrenceRule将规则配置为仅应用于特定月份。
onlyOnMonthDay(day)RecurrenceRule将规则配置为仅应用于每月的特定日期。
onlyOnMonthDays(days)RecurrenceRule将规则配置为仅应用于当月的特定日期。
onlyOnWeek(week)RecurrenceRule将规则配置为仅适用于一年中的特定一周。
onlyOnWeekday(day)RecurrenceRule将规则配置为仅应用于一周中的特定一天。
onlyOnWeekdays(days)RecurrenceRule将规则配置为仅应用于一周中的特定几天。
onlyOnWeeks(weeks)RecurrenceRule将规则配置为仅适用于一年中的特定周。
onlyOnYearDay(day)RecurrenceRule将规则配置为仅适用于一年中的特定日期。
onlyOnYearDays(days)RecurrenceRule将规则配置为仅适用于一年中的特定日期。
setTimeZone(timeZone)EventRecurrence设置此重复设置的时区。
times(times)RecurrenceRule将规则配置为在发生给定次数后结束。
until(endDate)RecurrenceRule将规则配置为在指定日期(包括该日期)结束。
weekStartsOn(day)RecurrenceRule配置一周的开始日期,以便应用规则。

详细文档

addDailyExclusion()

添加一个用于排除每天发生的事件的规则。

// Creates a rule that recurs every week after the first 30 days.
const recurrence =
    CalendarApp.newRecurrence().addWeeklyRule().addDailyExclusion().times(30);

返回

RecurrenceRule - 新的 RecurrenceRule

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

addDailyRule()

添加一个规则,使活动每天重复。

// Creates a rule that recurs every day for ten days.
const recurrence = CalendarApp.newRecurrence().addDailyRule().times(10);

返回

RecurrenceRule - 新的 RecurrenceRule

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

addDate(date)

添加一个规则,使活动在特定日期重复。

参数

名称类型说明
dateDate

返回

EventRecurrence - 用于链式调用的 EventRecurrence

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

addDateExclusion(date)

添加一个用于排除特定日期的出现情况的规则。

参数

名称类型说明
dateDate

返回

EventRecurrence - 用于链式调用的 EventRecurrence

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

addMonthlyExclusion()

添加一个用于排除每月发生的事件的规则。

默认情况下,排除项会在系列活动的第一项活动所在月的同一天应用,但您可以通过调用 onlyOnMonthDay(day)onlyOnMonthDays(days) 来更改这一设置。

返回

RecurrenceRule - 新的 RecurrenceRule

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

addMonthlyRule()

添加一个规则,使事件每月重复。

默认情况下,事件会在系列中第一个事件所在的月份同一天重复,但您可以通过调用 onlyOnMonthDay(day)onlyOnMonthDays(days) 来更改此设置。

// Creates a rule that recurs every month for three months.
const recurrence = CalendarApp.newRecurrence().addMonthlyRule().times(4);

返回

RecurrenceRule - 新的 RecurrenceRule

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

addWeeklyExclusion()

添加一项规则,用于排除每周发生的事件。

默认情况下,排除项会在系列中第一项活动所在的一周同一天应用,但您可以通过调用 onlyOnWeekday(day)onlyOnWeekdays(days) 来更改这一设置。

// Creates a rule that recurs every day except the first four Wednesdays.
const recurrence = CalendarApp.newRecurrence()
                       .addDailyRule()
                       .addWeeklyExclusion()
                       .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
                       .times(4);

返回

RecurrenceRule - 新的 RecurrenceRule

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

addWeeklyRule()

添加一个规则,使活动每周重复一次。

默认情况下,活动会在系列中第一个活动的同一周几重复,但您可以通过调用 onlyOnWeekday(day)onlyOnWeekdays(days) 来更改这一设置。

// Creates a rule that recurs every week for ten weeks.
const recurrence = CalendarApp.newRecurrence().addWeeklyRule().times(10);

返回

RecurrenceRule - 新的 RecurrenceRule

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

addYearlyExclusion()

添加一个用于排除每年发生的事件的规则。

默认情况下,排除项会在系列活动中的第一个活动所在年份的同一天应用,但您可以通过调用 onlyOnYearDay(day)onlyOnYearDays(days) 来更改此设置。

返回

RecurrenceRule - 新的 RecurrenceRule

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

addYearlyRule()

添加一个规则,使活动每年重复。

默认情况下,事件会在系列中第一项事件所在的年份的同一天重复,但您可以通过调用 onlyOnYearDay(day)onlyOnYearDays(days) 来更改此设置。

返回

RecurrenceRule - 新的 RecurrenceRule

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

interval(interval)

将规则配置为仅在规则的时间单位的此时间间隔内应用。

// Creates a rule that recurs every fourth week.
const recurrence = CalendarApp.newRecurrence().addWeeklyRule().interval(4);

参数

名称类型说明
intervalInteger规则的时间单位中的间隔

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


onlyInMonth(month)

将规则配置为仅适用于特定月份。

// Creates a rule that recurs every week in February.
const recurrence = CalendarApp.newRecurrence().addWeeklyRule().onlyInMonth(
    CalendarApp.Month.FEBRUARY);

参数

名称类型说明
monthMonth月份

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


onlyInMonths(months)

将规则配置为仅应用于特定月份。

// Creates a rule that recurs every week in February and March.
const recurrence = CalendarApp.newRecurrence().addWeeklyRule().onlyInMonths(
    [CalendarApp.Month.FEBRUARY, CalendarApp.Month.MARCH]);

参数

名称类型说明
monthsMonth[]月份

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


onlyOnMonthDay(day)

将规则配置为仅应用于每月的特定日期。

// Creates a rule that recurs every month on the fifth day of the month.
const recurrence =
    CalendarApp.newRecurrence().addMonthlyRule().onlyOnMonthDay(5);

参数

名称类型说明
dayInteger日期

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


onlyOnMonthDays(days)

将规则配置为仅应用于当月的特定日期。

// Creates a rule that recurs every month on the first and fifteenth day of the
// month.
const recurrence =
    CalendarApp.newRecurrence().addMonthlyRule().onlyOnMonthDays([1, 15]);

参数

名称类型说明
daysInteger[]日期

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


onlyOnWeek(week)

将规则配置为仅适用于一年中的特定一周。

// Creates a rule that recurs on the fifth week of every year.
const recurrence = CalendarApp.newRecurrence().addWeeklyRule().onlyOnWeek(5);

参数

名称类型说明
weekInteger

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


onlyOnWeekday(day)

将规则配置为仅应用于一周中的特定一天。

// Creates a rule that recurs every week on Wednesdays.
const recurrence = CalendarApp.newRecurrence().addWeeklyRule().onlyOnWeekday(
    CalendarApp.Weekday.WEDNESDAY);

参数

名称类型说明
dayWeekday星期几

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


onlyOnWeekdays(days)

将规则配置为仅应用于一周中的特定几天。

// Creates a rule that recurs every week on Tuesdays and Thursdays.
const recurrence = CalendarApp.newRecurrence().addWeeklyRule().onlyOnWeekdays(
    [CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.THURSDAY]);

参数

名称类型说明
daysWeekday[]星期

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


onlyOnWeeks(weeks)

将规则配置为仅适用于一年中的特定周。

// Creates a rule that recurs on the fifth and tenth weeks of every year.
const recurrence =
    CalendarApp.newRecurrence().addWeeklyRule().onlyOnWeeks([5, 10]);

参数

名称类型说明
weeksInteger[]

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


onlyOnYearDay(day)

将规则配置为仅适用于一年中的特定日期。

// Creates a rule that recurs every year on February 15 (the 46th day).
const recurrence =
    CalendarApp.newRecurrence().addYearlyRule().onlyOnYearDay(46);

参数

名称类型说明
dayInteger年月日

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


onlyOnYearDays(days)

将规则配置为仅适用于一年中的特定日期。

// Creates a rule that recurs every year on January 20 and February 15.
const recurrence =
    CalendarApp.newRecurrence().addYearlyRule().onlyOnYearDay([20, 46]);

参数

名称类型说明
daysInteger[]一年中的天数

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


setTimeZone(timeZone)

设置此重复设置的时区。这会影响活动的重复日期和时间,以及活动是否会随夏令时而变化。默认为日历的时区。

参数

名称类型说明
timeZoneString时区,采用“long”格式指定(例如Joda.org 中列出的“America/New_York”)

返回

EventRecurrence - 用于链式调用的 EventRecurrence

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

times(times)

将规则配置为在发生给定次数后结束。

// Creates a rule that recurs every day for ten days.
const recurrence = CalendarApp.newRecurrence().addDailyRule().times(10);

参数

名称类型说明
timesInteger重复的次数

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule


until(endDate)

将规则配置为在指定日期(包括该日期)结束。

// Creates a rule that recurs every day through the end of 2013.
const recurrence = CalendarApp.newRecurrence().addDailyRule().until(
    new Date('December 31, 2013'));

参数

名称类型说明
endDateDate

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule

授权

使用此方法的脚本需要具有以下一个或多个作用域相关 REST API 中的适当作用域的授权:

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

weekStartsOn(day)

配置一周的开始日期,以便应用规则。

// Creates a weekly rule where weeks start on Monday.
const recurrence = CalendarApp.newRecurrence().addWeeklyRule().weekStartsOn(
    CalendarApp.Weekday.MONDAY);

参数

名称类型说明
dayWeekday一周的起始日

返回

RecurrenceRule - 用于链式调用的此 RecurrenceRule