Крейг, Эван указал вам правильное направление.
В сообщении говорится, что «по крайней мере, ОДИН СТАНДАРТ ИЛИ НЕДВИЖИМОСТЬ» должен быть определен, ЕСЛИ кто-то определяет VTIMEZONE. VTIMEZONE - это полное определение часового пояса для периода ваших событий - ie если есть переход на летнее время, то необходимо определить, когда происходит переход, как в примере
BEGIN:VTIMEZONE
TZID:US-Eastern
LAST-MODIFIED:19870101T000000Z
BEGIN:STANDARD
DTSTART:19971026T020000
RDATE:19971026T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19971026T020000
RDATE:19970406T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:DAYLIGHT
END:VTIMEZONE
Лично я думаю, было бы замечательно, если бы можно было предположить, что как собственная система, так и принимающая система имели самые последние определения часовых поясов базы данных Олсона и, таким образом, что любые повторяющиеся события заканчиваются тем же днем и временем. Однако я предположил, что нет никакой гарантии, что VTIMEZONE позволяет определять изменения летнего времени и c, которые использует система.
Многие системы могут принимать файлы ics без VTIMEZONES, НО они должны быть там и правильно определены.