我在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
您可以看到Untill属性被设置为20180923T000000Z,而不是显示2019年3月28日的正确日期。还差得远呢。
因此,当我通过文件导入代码中的事件时,自然会得到错误的值。这个问题也会发生在很多时间之后重复的其他事件中,例如从今年开始只发生两次的年度事件。
如果我在Google Calendar中创建相同的事件,则until属性为UNTIL=20190328;
发布于 2018-03-28 05:34:29
两者都没有错。请参阅RFC 5545规范。一种是使用带有UTC时间的“datetime”格式,另一种是使用“date”格式。https://www.rfc-editor.org/rfc/rfc5545#section-3.3.4
要弄清楚UNTIL部分有点困难,但我读这两个部分的方式都是可以接受的。这些示例都使用UTC时区中的日期时间。https://www.rfc-editor.org/rfc/rfc5545#section-3.8.5.2
https://stackoverflow.com/questions/49521317
复制相似问题