#81 Exception Dates format for Google Calendar

open
Doug Day
5
2014-08-27
2012-08-03
Jeff Widmer
No

We are having an issue with Google Calendar not excluding exception dates for a Recurrence Pattern for an All Day Event. And a similar issue with Apple iCal not excluding exception dates for a Recurrence Pattern that has a set time. Both of the events work correctly in Outlook Calendar.

On Apple iCal this VEVENT will not exclude the August 16 date (this one works correctly on Google Calendar):
BEGIN:VEVENT
DESCRIPTION:test
DTEND;TZID=Pacific Standard Time:20120809T100000
DTSTAMP:20120803T174325Z
DTSTART;TZID=Pacific Standard Time:20120809T090000
EXDATE:20120816T090000
RRULE:FREQ=WEEKLY;BYDAY=TH
SEQUENCE:0
STATUS:Confirmed
SUMMARY:Repeating Weekly Event with Times 2
UID:57660944-259199101-20120809
END:VEVENT

On Google Calendar this VEVENT will not exclude the August 16 date (this one works correctly on Apple iCal):
BEGIN:VEVENT
DESCRIPTION:test
DTEND;TZID=Pacific Standard Time;VALUE=DATE:20120809
DTSTAMP:20120803T174325Z
DTSTART;TZID=Pacific Standard Time;VALUE=DATE:20120809
EXDATE:20120816
RRULE:FREQ=WEEKLY;BYDAY=TH
SEQUENCE:0
STATUS:Confirmed
SUMMARY:Repeating Weekly Event without times 2
UID:57660944-259199102-20120809
END:VEVENT

This is just a guess but Google Calendar and Apple iCal both appear to want the exception dates in the form of "EXDATE;VALUE=DATE:20120816" whereas currently they are rendered as "EXDATE:20120816". That is the only thing I see different when I export an ics from Google Calendar or Apple iCal but I really have not proven that is the issue.

Thanks,
-Jeff

Discussion

  • Doug Day
    Doug Day
    2012-08-03

    Thanks for the report. So, to clarify, it looks like it works fine if you use "EXDATE;VALUE=DATE:20120816" to indicate a 'whole-day' exclusion? If so, it looks like the EXDATE is just not serializing as it should (i.e. it doesn't include the VALUE=DATE).

    -Doug

     
  • Jeff Widmer
    Jeff Widmer
    2012-08-06

    Hi Doug,
    I did some trial and error with various exclusion date formats and this is what both Google Calendar and Apple iCal want:

    For events without times (all day events):
    EXDATE;VALUE=DATE:20120816

    For events with times:
    EXDATE;VALUE=DATE:20120816
    EXDATE;TZID=Pacific Standard Time:20120816T090000

    Here are the two VEVENT snippets that worked in Outlook, Google Calendar, and Apple iCal:
    BEGIN:VEVENT
    DESCRIPTION:test
    DTEND;TZID=Pacific Standard Time:20120809T100000
    DTSTAMP:20120803T161634Z
    DTSTART;TZID=Pacific Standard Time:20120809T090000
    EXDATE;VALUE=DATE:20120816
    EXDATE;TZID=Pacific Standard Time:20120816T090000
    RRULE:FREQ=WEEKLY;BYDAY=TH
    SEQUENCE:0
    STATUS:Confirmed
    SUMMARY:Repeating Weekly Event with Times
    UID:57660944-259199101-20120809
    END:VEVENT

    BEGIN:VEVENT
    DESCRIPTION:test
    DTEND;TZID=Pacific Standard Time;VALUE=DATE:20120809
    DTSTAMP:20120803T161634Z
    DTSTART;TZID=Pacific Standard Time;VALUE=DATE:20120809
    EXDATE;VALUE=DATE:20120816
    RRULE:FREQ=WEEKLY;BYDAY=TH
    SEQUENCE:0
    STATUS:Confirmed
    SUMMARY:Repeating Weekly Event without times
    UID:57660944-259199102-20120809
    END:VEVENT