使用 iCal.Net。
我想要实现的是缩小日历以通过互联网发送它,所以我不必发送整个日历,如果有人问我会发生什么,这将是浪费(考虑到它会变大)在一天之内。
我们应该只发送给定时间段内发生的事情。
Calendar.GetOccurrences(IDateTime startTime, IDateTime endTime)
似乎是一个好的开始,我不确定如何获得实际的 CalendarObject ,也不确定它是否是好方法。
使用 iCal.Net。
我想要实现的是缩小日历以通过互联网发送它,所以我不必发送整个日历,如果有人问我会发生什么,这将是浪费(考虑到它会变大)在一天之内。
我们应该只发送给定时间段内发生的事情。
Calendar.GetOccurrences(IDateTime startTime, IDateTime endTime)
似乎是一个好的开始,我不确定如何获得实际的 CalendarObject ,也不确定它是否是好方法。
这是我以前没有遇到过的用例,但应该不会太难。我想我会做这样的事情:
var relevantEvents = bigCalendar.GetOccurrences(start, end)
.Select(o => o.Source) // The parent IRecurrable
.Cast<Event>() // Which is an Event/CalendarEvent
.Distinct()
.ToList();
var smallerCalendar = new Calendar();
// I should add an extension method to UniqueComponentList for AddRange()
foreach (var relevantEvent in relevantEvents)
{
smallerCalendar.Events.Add(relevantEvent);
}