ICS файл обрабатывает несколько часовых поясов

У меня есть сценарий PHP, который создает файл ICS, файл синхронизируется с календарем Iphones через веб-представление, и это прекрасно работает. Однако теперь мое приложение Iphone используется во всем мире. Я получаю людей, которые просят ввести записи в своем часовом поясе, есть ли простой способ сделать это?

В настоящее время я указываю часовой пояс

X-WR-TIMEZONE: Европа /London

А затем добавьте записи следующим образом

DTSTART:20121130T194500

Это просто случай смены часового пояса или я тоже рассчитываю новое время в этом часовом поясе?

Спасибо

1 ответ

Решение

Для обработки часового пояса вы должны обратиться к rfc5545 и определению vtimezone.

в основном вам нужно определить часовой пояс

BEGIN:VTIMEZONE
TZID:America/New_York
BEGIN:DAYLIGHT
DTSTART:19670430T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=-1SU;UNTIL=19730429T070000Z
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:DAYLIGHT
BEGIN:STANDARD

и затем обратитесь к нему в ваших событиях так:

DTSTART;TZID=America/New_York:19970902T090000

Следует отметить, что X-WR-TIMEZONE тег Apple iCal и часть стандарта

Другие вопросы по тегам