这些与重复相关的类型和类(RecurrenceFrequency
、RecurrenceDayOfWeek
、RecurrenceWeekday
、RecurrenceEnd
以及 RecurrenceRule
)允许你在 Scripting 中为事件和提醒定义并管理重复模式。通过这些类型和类,你可以设置重复间隔、指定重复的特定日期或月份,以及定义结束条件。
RecurrenceFrequency
RecurrenceFrequency
用于定义事件或提醒的重复频率。可选值如下:
daily
: 每天重复。weekly
: 每周重复。monthly
: 每月重复。yearly
: 每年重复。此类型通常作为 RecurrenceRule
类中的一个属性,用来指定重复发生的频率。
使用示例:
RecurrenceWeekday
RecurrenceWeekday
是一个枚举类型,表示一周中的某一天。它可以让你在周重复模式下指定事件重复的具体星期几。可用值包括:
"sunday"
, "monday"
, "tuesday"
, "wednesday"
, "thursday"
, "friday"
, "saturday"
使用示例:
RecurrenceDayOfWeek
RecurrenceDayOfWeek
允许你指定某个特定的工作日(weekday),并可选地配合 weekNumber
一起使用。
在更复杂的周重复模式中,如果你想指定某个月的某个特定星期几(例如,每月的第二个星期二),就可以用到这个类型。
RecurrenceDayOfWeek
可以是以下两种形式之一:
RecurrenceWeekday
(例如 "monday"
),或weekday
: 一个 RecurrenceWeekday
(如 "monday"
)weekNumber
: 一个数字,用来表示该星期几在当月或当年出现的次序(正数代表从头数,负数代表从尾数)。例如,1
表示第一个出现的星期几,-1
表示最后一个出现的星期几。使用示例:
RecurrenceEnd
RecurrenceEnd
用于定义重复规则何时结束。它提供了两种结束重复的方式:
fromCount(count: number)
: 在重复了指定次数后结束。fromDate(date: Date)
: 在某个特定日期结束。这在需要限制事件或提醒的重复次数或日期时非常有用。
fromCount(count): 基于重复次数创建结束条件。
fromDate(date): 基于具体日期创建结束条件。
RecurrenceRule
RecurrenceRule
用来定义事件或提醒的完整重复模式,包括重复频率、间隔、指定的日期、月份,以及可选的结束条件等。
string
– 该重复规则的唯一标识符。RecurrenceFrequency
– 重复的频率(daily
, weekly
, monthly
, yearly
)。number
– 重复间的间隔(例如,每 2 周一次),必须大于 0。RecurrenceEnd (可选)
– 指定重复何时结束。number
– 用来表示一周的起始日。RecurrenceDayOfWeek[] (可选)
– 指定一周中的哪些天需要重复。number[] (可选)
– 指定一个月中哪些日期需要重复(1 到 31 或 -1 到 -31)。number[] (可选)
– 指定一年中的哪些天需要重复。number[] (可选)
– 指定一年中的哪些周需要重复。number[] (可选)
– 指定一年中的哪些月份需要重复。number[] (可选)
– 用于在频率周期内筛选特定序号位置的重复。RecurrenceRule
实例。
daily
、weekly
)。RecurrenceDayOfWeek
数组。示例:
要使用这些类型来创建带有重复模式的事件或提醒,可以按照以下步骤:
RecurrenceFrequency
来指定事件或提醒的重复频率。RecurrenceWeekday
、RecurrenceDayOfWeek
、daysOfTheMonth
等来确定具体的重复日期。interval
控制基于频率的重复间隔。RecurrenceEnd
指定重复何时终止。RecurrenceRule.create()
并传入相关配置选项,生成最终的重复规则。此示例中,RecurrenceRule
定义了每个月的第二个星期二重复一次的会议,共重复六次后停止。