对于此特定情况,分析 RRule 会导致错误出现



每日和每月重复出现的最后一个实例无法正确获取,而同样的情况适用于每周重复。 我已经在数据库中保存了事件的重复模式,但是当我从数据库中获取并设置事件属性并调用事件时。GetOccurrences((。我有 1,2,3,4 Aug 的事件,但是当规则被解析时(即在调用事件之后。GetOccurrences((( 它给出了 4 个实例,其中 1 个 8 月重复了两次,所以我们有 1,1,2,3 个 8 月的发生,8 月 4 日被错过了。

For Daily recurring meeting 
FREQ=DAILY;COUNT=4;BYHOUR=13;BYMINUTE=30;BYSECOND=0

上面的模式给出的实例为 8 月 1 日、8 月 1 日、8 月 2 日、8 月 3 日,给出了 4 个实例,但 8 月 4 日错过了,8 月 1 日重复了两次,在此之后我在这些实例中设置了时间。

For Weekly recurring meeting 
FREQ=WEEKLY;COUNT=4

当上面的模式被同一个函数解析时,它会给出 4 个正确日期的实例,之后我从 DB 为这些事件设置时间。

我已经做了一个解决方法。我已经按小时、分钟和秒重置了。

RecurrencePattern recurringPattern = new RecurrencePattern(recurringRule);
if (recurringPattern.Count > 0)
{
recurringPattern.ByHour = new List<int>();
recurringPattern.ByMinute = new List<int>();
recurringPattern.BySecond = new List<int>();
}
calendarEvent.RecurrenceRules.Add(recurringPattern);

最新更新