我遇到了谷歌日历显示额外日历事件的问题。 .ICS
PRODID:-//TEST//NONSGML Version 1//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Asia/Kolkata
BEGIN:DAYLIGHT
DTSTART:19411001T000000
TZOFFSETFROM:+055320
TZOFFSETTO:+0630
RDATE:19411001T000000
END:DAYLIGHT
BEGIN:DAYLIGHT
DTSTART:18800101T000000
TZOFFSETFROM:+055328
TZOFFSETTO:+055320
RDATE:18800101T000000
END:DAYLIGHT
BEGIN:DAYLIGHT
DTSTART:19420901T000000
TZOFFSETFROM:+0530
TZOFFSETTO:+0630
RDATE:19420901T000000
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:19420515T000000
TZOFFSETFROM:+0630
TZOFFSETTO:+0530
RDATE:19420515T000000
RDATE:19451015T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:19700119T063633Z
ORGANIZER:mailto:invite@a.com
UID:3fDJ2_gx5QJr4ygb@EqPBCMSzkxGfKg0
SEQUENCE:0
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;BYDAY=SU,FR,SA
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:mailto:a@gmail.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:mailto:a@b.com
DTSTART;TZID=Asia/Kolkata:20200114T150000
DTEND;TZID=Asia/Kolkata:20200114T160000
SUMMARY:DEV TEST
TRANSP:OPAQUE
CREATED:20200114T091621Z
LAST-MODIFIED:20200114T091621Z
STATUS:CONFIRMED
LOCATION:Location
DESCRIPTION:Description
END:VEVENT
END:VCALENDAR
日历在星期三创建,用于在星期五,星期六和星期日的日子里永无止境地每周重复。在谷歌日历中,我观察到为星期三(创建日期(创建了一个额外的事件,包括重复事件。我没有在 Outlook 日历中观察到这个问题。
知道为什么仅在Google日历中创建的事件创建日期有一个额外的事件,而不是在Outlook日历中观察到。
我认为这是由于对iCalendar规范的不同解释:
https://www.rfc-editor.org/rfc/rfc5545#section-3.8.5.3
特别是本节:
"DTSTART"属性定义重复周期中的第一个实例 设置。 "DTSTART"属性值应与 定期规则(如果已指定(。 使用 与定期规则不同步的"DTSTART"属性值为 定义。
因此,RFC 没有定义当 DTSTART 与重复规则不匹配时会发生什么,并且可能 Google 和 Microsoft采取了不同的方法。
为避免这种情况,请确保您的 DTSTART 发生在周五、周六或周日。