Проблемы с получением Календаря Google для соблюдения часового пояса iCal - PullRequest
2 голосов
/ 22 ноября 2011

Я создал канал iCal, который отлично работает в календаре Apple. Затем я попытался импортировать его в Календарь Google, и время у всех пять часов, что имеет смысл, потому что я нахожусь в часовом поясе США / Восточный. Исходя из технических характеристик, я предполагал, что программа календаря должна учитывать мое время как местное, основываясь на том, как они отформатированы (у них нет часовых поясов или тегов UTC), но этого не происходит. Итак, я добавил информацию о часовом поясе в календарь.

BEGIN:VCALENDAR 
CALSCALE:GREGORIAN 
METHOD:PUBLISH 
PRODID:iCalendar-Ruby VERSION:2.0 
BEGIN:VTIMEZONE 
TZID:America/New_York 
BEGIN:DAYLIGHT 
DTSTART:19700308T020000 
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU 
TZNAME:EDT 
TZOFFSETFROM:-0500 
TZOFFSETTO:-0400 
END:DAYLIGHT 
BEGIN:STANDARD 
DTSTART:19701101T020000 
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU 
TZNAME:EST 
TZOFFSETFROM:-0400 
TZOFFSETTO:-0500 
END:STANDARD 
END:VTIMEZONE

Я удалил повторно импортированный календарь, и время все еще выключено. Стандартное событие выглядит так:

BEGIN:VEVENT 
DESCRIPTION:Justin M. is scheduled to work from 12 PM to 3 PM. 
DTEND:20111103T150000 
DTSTAMP:20111122T144545 
DTSTART:20111103T120000 
LOCATION:Museum of Unnatural History 
SEQUENCE:0 
SUMMARY:Justin M. 
UID:2011-11-22T14:45:45+00:00_239255930@0a9a698e-854d-48e2-97d4-37ff0b28311 9 
END:VEVENT

Итак, я не уверен, почему в календаре Google возникают проблемы. Может быть, это просто кэширование URL-адреса, а не обновление календаря? Есть ли что-то еще, что я должен сделать.

Ответы [ 2 ]

2 голосов
/ 18 февраля 2015

Вы можете указать определенный часовой пояс в каждой дате события, например,

DTSTART;TZID=America/New_York:20150218T133000

Таким образом, летнее время будет учитываться автоматически, и вам не нужно переводить из местного времени в UTC) формат при создании календаря.Обратите внимание, что вы также можете столкнуться с проблемами часовых поясов, если клиент, который интерпретирует ical-файл, не имеет правильной настройки зоны.

1 голос
/ 23 ноября 2011

Итак, я прибег к использованию времени UTC, добавив Z в конец каждого времени события.В сочетании с информацией о часовом поясе в календаре Google правильно конвертирует время, за исключением летнего времени.Те все еще выключены.Обновлюсь, если смогу выяснить почему.

...