As reported through the devel mailing list, libvacalendaring generates invalid timezone specifications specifically with TZOFFSETFROM and TZOFFSETTO for timezones with negative UTC offsets:
BEGIN:VTIMEZONE TZID:America/New_York X-MICROSOFT-CDO-TZID:10 BEGIN:STANDARD DTSTART:20141102T060000 TZOFFSETFROM:-400 TZOFFSETTO:-500 TZNAME:EST END:STANDARD ... END:VTIMEZONE
The offset values should read -0400 and -0500 instead.
The reporter suggests this
Test cases to be created:
$tz = new DateTimezone('America/New_York'); $event = array( 'uid' => '12345', 'summary' => 'test', 'start' => new DateTime('20130703T143000', $tz), 'end' => new DateTime('20130703T143000', $tz), ); $ical = new libvcalendar(); $ics = $ical->export(array($event));
Expected result:
$ics contains TZOFFSETFROM:-0400 and TZOFFSETTO:-0500