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時區,以「長」格式指定 (例如 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 用於鏈結