When I subscribe to my Drupal Ical feed in my Gmail or Hotmail calendar any event that is all day ie 00:00 to 00:00 appears in the wrong date. It's as if the time zone is ignored if there is no time on the events. How can this be overcome?

Comments

cgapperi’s picture

Version: 6.x-1.0-alpha3 » 6.x-1.x-dev

From what I can tell, when creating an all-day event, there is no time set, but a 'Z' at the end of the DTSTART and DTEND data.

BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
X-WR-CALNAME: Calendar | NCGA dev site
PRODID:-//Drupal iCal API//EN
BEGIN:VEVENT
UID:calendar.1028.field_event_occurs.0.0
SUMMARY:2012 NCGA General Assembly
DTSTAMP:20120717T115012Z
DTSTART:20120918Z
DTEND:20120919Z
URL;VALUE=URI:http://ncgatest.com/event/2012-ncga-general-assembly
END:VEVENT
END:VCALENDAR

This causes the event to be created on the date of the export. When I remove the 'Z' from the end of DTSTART and DTEND like so:

BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
X-WR-CALNAME: Calendar | NCGA dev site
PRODID:-//Drupal iCal API//EN
BEGIN:VEVENT
UID:calendar.1028.field_event_occurs.0.0
SUMMARY:2012 NCGA General Assembly
DTSTAMP:20120717T115012Z
DTSTART:20120918
DTEND:20120919
URL;VALUE=URI:http://ncgatest.com/event/2012-ncga-general-assembly
END:VEVENT
END:VCALENDAR

It works just fine.