首页 > 技术文章 > 如何从OutLook正确取得定期会议的时间?(待解决)

soulxj 原文

背景:

    用Microsoft.Office.Interop.Outlook取得日历项,然后根据业务要求筛选。

现象:

    如果是定期会议,使用AppointmentItem.Start/End取得的是该定期会议初始会议的时间。

    比如:此会议重复了4次,从第二次会议开始,取得的Start,仍然是初次的2020/06/20 13:00:00

    ①新建定期会议

    

     ②将第二次会议时间变更(改晚了一小时)

    

    ③ 使用RecurrencePattern.GetOccurrence(DateTime)方法,判断某一天的日期+定期会议的时刻,在定期会议(模式/列表/一览)中是否存在。

    因为时间变更了(改晚了一小时),所以自然变得不存在于定期会议中了。 

    

  

分析:

    1,不管初回之后的会议时间是否有变更,都不影响AppointmentItem.Start/End的取值,也就是【总是取得定期会议的初回时间】。

    2,使用RecurrencePattern.GetOccurrence(DateTime)方法的话,如果定期会议的其中某一次时间有变更,那么变更后时间跟初回对不上,就取得不到了。

结论:

    目前还没有找到好方法取得定期会议,各位网友、大神请指教!!!

推荐阅读