【问题标题】:Generated .ics file from Outlook has wrong UNTIL property for recurrent events从 Outlook 生成的 .ics 文件对于经常性事件具有错误的 UNTIL 属性
【发布时间】:2018-09-06 08:38:45
【问题描述】:

我在 Outlook 中有一个日历,并将其导出为 .ics 文件。日历具有经常性事件(重复的事件)。对于多个事件,我有同样的问题。

我有一个每周定期活动。 Outlook 说:从 2018 年 6 月 10 日到 2019 年 3 月 28 日,每周日发生

但是,当我将日历导出到 .ics 文件时,事件如下所示:

BEGIN:VEVENT
DESCRIPTION:\n
RRULE:FREQ=WEEKLY;UNTIL=20180923T000000Z;INTERVAL=1;BYDAY=SU;WKST=MO
UID:040000008200E00074C5B7101A82E0080000000060CACBCE03C6D301000000000000000
 0100000002A073D46A060504CAAA06CE73B51C945
SUMMARY:my weekly
DTSTART;VALUE=DATE:20180610
DTEND;VALUE=DATE:20180611
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20180327T194506Z
TRANSP:TRANSPARENT
STATUS:CONFIRMED
SEQUENCE:0
LOCATION:
X-MICROSOFT-CDO-APPT-SEQUENCE:0
X-MICROSOFT-CDO-BUSYSTATUS:FREE
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INSTTYPE:1
X-MICROSOFT-DONOTFORWARDMEETING:FALSE
X-MICROSOFT-DISALLOW-COUNTER:FALSE
END:VEVENT

您可以看到,Until 属性设置为 20180923T000000Z,而不是显示正确的日期(2019 年 3 月 28 日)。它甚至没有接近。

所以很自然,当我通过文件在代码中导入事件时,我得到了错误的值。这个问题也发生在其他在很长一段时间后重复的事件中,例如从今年开始只发生两次的年度事件。

如果我在 Google 日历中创建相同的事件,则 until 属性为 UNTIL=20190328;

【问题讨论】:

    标签: c# icalendar


    【解决方案1】:

    两者都没有错。请参阅 RFC 5545 规范。一种是使用带有 UTC 时间的“日期时间”格式 另一种是使用“日期”格式。 https://www.rfc-editor.org/rfc/rfc5545#section-3.3.4

    要弄清楚 UNTIL 部分有点困难,但我阅读它的方式都是可以接受的。这些示例都使用 UTC 时区中的 DATETIME。 https://www.rfc-editor.org/rfc/rfc5545#section-3.8.5.2

    【讨论】:

    • UNTILL 值应该是 2019032018,但它是 20180923T000000Z。关了一年。我认为时区不是这里的问题。还是我错过了什么?
    • 我的错,我以为你在谈论格式。如果 Outlook 有如此明显的错误,肯定会在以前就注意到它,但快速谷歌只显示这篇文章。所以这表明 ics 文件更新的时间延迟?也许如果你第一次有 2018 年的约会?还是用户错误?我不使用outlook,所以无法测试自己。您是否能够始终如一地重复该问题 - 即,对于全新的事件,它仍然会发生吗?
    • 是的,它确实一直在发生,你可以在这里看到:stackoverflow.com/questions/49528728/…
    • 嗯,好吧,那么我认为最合适的地方是微软的 Outlook 论坛,而不是这里,因为这听起来像是 Outlook 中的一个错误,而不是一个 icalendar 编程问题本身。跨度>
    • 事实证明这是问题所在:answers.microsoft.com/en-us/msoffice/forum/…Microsoft 在发布时有一系列可见事件。
    猜你喜欢
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 2022-01-19
    • 2016-06-22
    • 2015-09-23
    • 2021-07-21
    相关资源
    最近更新 更多