这些与重复相关的类型和类(RecurrenceFrequency、RecurrenceDayOfWeek、RecurrenceWeekday、RecurrenceEnd 以及 RecurrenceRule)允许你在 Scripting 中为事件和提醒定义并管理重复模式。通过这些类型和类,你可以设置重复间隔、指定重复的特定日期或月份,以及定义结束条件。
RecurrenceFrequencyRecurrenceFrequency 用于定义事件或提醒的重复频率。可选值如下:
daily: 每天重复。weekly: 每周重复。monthly: 每月重复。yearly: 每年重复。此类型通常作为 RecurrenceRule 类中的一个属性,用来指定重复发生的频率。
使用示例:
RecurrenceWeekdayRecurrenceWeekday 是一个枚举类型,表示一周中的某一天。它可以让你在周重复模式下指定事件重复的具体星期几。可用值包括:
"sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"使用示例:
RecurrenceDayOfWeekRecurrenceDayOfWeek 允许你指定某个特定的工作日(weekday),并可选地配合 weekNumber 一起使用。
在更复杂的周重复模式中,如果你想指定某个月的某个特定星期几(例如,每月的第二个星期二),就可以用到这个类型。
RecurrenceDayOfWeek 可以是以下两种形式之一:
RecurrenceWeekday(例如 "monday"),或weekday: 一个 RecurrenceWeekday(如 "monday")weekNumber: 一个数字,用来表示该星期几在当月或当年出现的次序(正数代表从头数,负数代表从尾数)。例如,1 表示第一个出现的星期几,-1 表示最后一个出现的星期几。使用示例:
RecurrenceEndRecurrenceEnd 用于定义重复规则何时结束。它提供了两种结束重复的方式:
fromCount(count: number): 在重复了指定次数后结束。fromDate(date: Date): 在某个特定日期结束。这在需要限制事件或提醒的重复次数或日期时非常有用。
fromCount(count): 基于重复次数创建结束条件。
fromDate(date): 基于具体日期创建结束条件。
RecurrenceRuleRecurrenceRule 用来定义事件或提醒的完整重复模式,包括重复频率、间隔、指定的日期、月份,以及可选的结束条件等。
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 定义了每个月的第二个星期二重复一次的会议,共重复六次后停止。