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