время iCal хранится в UTC, а не в часовом поясе, в котором они возникли, если не указано иное (см. Редактирование)
Если вы хотите, чтобы ваш код был универсальным, вам нужно сохранить часовой пояс какЧто ж.Если вы действительно хотите ... вы можете использовать жесткий код в преобразовании.
Я бы также рекомендовал не сохранять время в этом формате:
Month: 05
Day: 02
Year: 2011
Time: 11:30am - 1:30pm
и переходить на формат меток времени.Вы пройдете от 4 (?) Столбцов до одного.Почему это хорошо?Потому что вы можете использовать PHP date () , чтобы отформатировать дату именно в то, что вам нужно!(вам нужно использовать strtotime (), я полагаю, у кого-то есть также функция преобразования часовых поясов в комментариях)
Взгляд на то, что необходимо сделать с точки зрения iCal:
echo "DTSTAMP:<year><month><day>T<hour><minutes><seconds>Z\n"; // Time iCal item was made
echo "DTSTART:<year><month><day>T<hour><minutes><seconds>Z\n"; // Start time
echo "DTEND:<year><month><day>T<hour><minutes><seconds>Z\n"; // End time
EDIT: Z представляет время UTC или абсолютное время.Вы можете установить часовой пояс в файле и оставить преобразование в программе календаря.http://tools.ietf.org/html/rfc5545#section-3.2.19