我正在尝试将olRecursMonthNth重新发生并将其写入列表。
我可以使用以下代码提取标准的每月重复次数 -
private static List<DateTime> GetMonthlyRecurrence(RecurrencePattern pattern)
{
List<DateTime> occurrences = new List<DateTime>(pattern.Occurrences);
DateTime startDate = new DateTime(pattern.PatternStartDate.Year, pattern.PatternStartDate.Month, pattern.PatternStartDate.Day, pattern.StartTime.TimeOfDay.Hours, pattern.StartTime.TimeOfDay.Minutes, 0);
for (int counter = 0; counter < pattern.Occurrences; counter++)
{
if (pattern.Interval > 0)
{
occurrences.Add(startDate);
startDate = startDate.AddMonths(pattern.Interval);
}
}
return (occurrences);
}
但是,如果约会发生在每个月的第一个星期一,那么我正在努力解决这个问题。感谢您的帮助!
答案 0 :(得分:0)
您别无选择,只能在代码中明确计算每种模式类型的实例。
如果使用Redemption是一个选项,则其RDORecurrencePattern对象允许您将日期(如Outlook)或整数索引传递给GetOccurence方法 - 这样您就可以循环遍历所有重复实例。
另请注意,对于没有结束日期的约会,您的代码将会中断(重复实例的数量是无限的)。