RecurrenceRule
内容
[
隐藏
]RecurrenceRule class
表示重复模式中的一个重复或例外规则。
public class RecurrenceRule
构造函数
姓名 | 描述 |
---|---|
RecurrenceRule() | 初始化RecurrenceRule 类. |
特性
姓名 | 描述 |
---|---|
ByDay { get; } | 获取日期。 |
ByHour { get; } | 按小时获取。 |
ByMinute { get; } | 按分钟获取。 |
ByMonth { get; } | 获取按月。 |
ByMonthDay { get; } | 获取按月的日期。 |
BySecond { get; } | 按秒获取。 |
BySetPos { get; } | 获取按集 pos. |
ByWeekNo { get; } | 获取按周编号。 |
ByYearDay { get; } | 获取按年的日期。 |
Count { get; set; } | 获取或设置计数。 |
EndType { get; set; } | 获取或设置结束类型。 |
Frequency { get; set; } | 获取或设置循环规则的类型。 |
FriendlyText { get; } | 获取用户友好的规则文本。 |
Interval { get; set; } | 获取或设置间隔。 |
Until { get; set; } | 获取或设置直到. |
WeekStart { get; set; } | 获取或设置一周的开始日期。 |
评论
对应 iCalendar 中的 RRULE 或 EXRULE 部分。
要构建重复规则,您通常需要:
请注意,如果发现 ByXXX 规则部分值超出了 available 范围(即,二月份的 BYMONTHDAY=30),它们将被简单地忽略。
不包含在规则中的信息,用于确定各种重复实例 开始时间和日期源自StartDate
.例如, “FREQ=YEARLY;BYMONTH=1” 不指定月份或时间中的特定日期。此信息 将与为 DTSTART 指定的信息相同。
ByXXX 规则部分以某种方式修改重复。 ByXXX 规则部分在一段时间内与 相同或大于频率一般会减少或限制 重复生成的出现次数。例如,“FREQ=DAILY;BYMONTH=1”将重复实例数 从一月份的所有天数(如果不存在 BYMONTH 标签)减少到所有天数。 ByXXX 规则部分在 时间以内的频率一般会增加或扩大重复出现的次数。 例如,“FREQ=YEARLY;BYMONTH=1,2”将年度重复集 中的天数从 1(如果 BYMONTH 标记不存在)增加到 2。
如果指定了多个 ByXXX 规则部分,则在评估指定的频率和间隔 规则部分后,ByXXX 规则部分将按以下 顺序应用于当前评估的事件集:ByMonth
,ByWeekNo
,ByYearDay
,ByMonthDay
ByDay
,ByHour
,ByMinute
,BySecond
和 BySetPos
;然后Count
和Until
被评估。