我在Outlook中有一个日历,我将其导出为.ics文件。日历具有重复事件(重复的事件)。对于多个事件,我有同样的问题。
我每周都有一次重复活动。展望说:每个星期天发生的有效时间为6/10/2018至2017年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属性,而不是显示正确的日期,即2017年3月28日,它设置为20180923T000000Z。它甚至没有关闭。
当我通过文件导入代码中的事件时,我自然会得到错误的值。这个问题也发生在经过大量时间重复的其他事件中,例如,从今年开始每年只发生两次。
如果我在Google日历中创建相同的事件,则until属性为UNTIL = 20190328;
答案 0 :(得分:0)
两者都不对。请参阅RFC 5545规范。一种是使用UTC时间的'datetime'格式 另一种是使用'日期'格式。 https://tools.ietf.org/html/rfc5545#section-3.3.4
要清楚地看到UNTIL部分有点困难,但我读它的方式都是可以接受的。这些示例都使用UTC时区中的DATETIME。 https://tools.ietf.org/html/rfc5545#section-3.8.5.2