Class RecurrenceRule

RecurrenceRule

表示事件系列的重复规则。

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

recurrence.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.
var 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.
var 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.
var 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.
var 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.
var 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.
var recurrence = CalendarApp.newRecurrence().addWeeklyRule().interval(4);

参数

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

返回

RecurrenceRule - 此 RecurrenceRule 用于链


onlyInMonth(month)

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

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

参数

名称类型说明
monthMonth每月

返回

RecurrenceRule - 此 RecurrenceRule 用于链


onlyInMonths(months)

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

// Creates a rule that recurs every week in February and March.
var 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.
var 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.
var recurrence = CalendarApp.newRecurrence().addMonthlyRule().onlyOnMonthDays([1, 15]);

参数

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

返回

RecurrenceRule - 此 RecurrenceRule 用于链


onlyOnWeek(week)

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

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

参数

名称类型说明
weekInteger

返回

RecurrenceRule - 此 RecurrenceRule 用于链


onlyOnWeekday(day)

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

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

参数

名称类型说明
dayWeekday星期几

返回

RecurrenceRule - 此 RecurrenceRule 用于链


onlyOnWeekdays(days)

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

// Creates a rule that recurs every week on Tuesdays and Thursdays.
var 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.
var 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).
var recurrence = CalendarApp.newRecurrence().addYearlyRule().onlyOnYearDay(46);

参数

名称类型说明
dayInteger一年中的第几天

返回

RecurrenceRule - 此 RecurrenceRule 用于链


onlyOnYearDays(days)

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

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

参数

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

返回

RecurrenceRule - 此 RecurrenceRule 用于链


setTimeZone(timeZone)

设置重复周期的时区。这会影响活动重复发生的日期和时间, 以及活动时间是否会根据夏令时进行相应调整。默认为日历的时区。

参数

名称类型说明
timeZoneString时区,以“long”指定格式(例如,“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.
var recurrence = CalendarApp.newRecurrence().addDailyRule().times(10);

参数

名称类型说明
timesInteger重复次数

返回

RecurrenceRule - 此 RecurrenceRule 用于链


until(endDate)

将规则配置为在指定日期(含当日)结束。

// Creates a rule that recurs every day through the end of 2013.
var 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.
var recurrence = CalendarApp.newRecurrence()
    .addWeeklyRule().weekStartsOn(CalendarApp.Weekday.MONDAY);

参数

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

返回

RecurrenceRule - 此 RecurrenceRule 用于链