Tag Archives: all day

All day events – adding a day or not?

The definition of an untimed all day and/or multi day event in the ical spec can be confusing.  See an extract from http://www.innerjoin.org/iCalendar/all-day-events.html for an explanation of the logic.

Google calendar certainly adheres to this , as does Thunderbird Calendar.

All Day Events

Applying the logic of an event to a date, an ‘all day’ event is flagged as starting at the beginning of one day and lasting until the beginning of the next:

  • DTSTART;VALUE=DATE:20020923
  • DTEND;VALUE=DATE:20020924

gives an event lasting the whole day. Or to be very precise:

  • DTSTART:20020923T000000
  • DTEND:20020924T000000

So what happens if your ics file generator does not adhere to this logic?

It may give the wrong  end dates, and tt may not be “subscribeable” – Certainly I cannot load into google or thunderbird any ics generated by “PRODID:-//WebCalendar-ics-v1.2.0”, as they do not follow this logic.  This may of course be due to other errors.  For example it also has no timezone definition.

So what should my plugin do?  For single day all day events, one can certainly check the dates, however for multi day all day events, there is no way of knowing what the event creator intended!.

Version 2.5.6 being uploaded as I type attempts to cope with the good and the erroneous!