Class RecurrenceRule

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时区,以“长”格式指定(例如,'America/New_York',如 Joda.org 所列)

返回

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