2013-05-08 2 views
0

У меня есть этот ческих файл:Проблемы с временной зоны в Анонсы файлов

 
BEGIN:VCALENDAR 
METHOD:REQUEST 
PRODID:Test 
VERSION:2.0 
BEGIN:VTIMEZONE 
TZID:TestZone 
BEGIN:STANDARD 
DTSTART:20130509T120000 
RDATE:20130509T120000 
TZOFFSETFROM:-0000 
TZOFFSETTO:-0000 
END:STANDARD 
END:VTIMEZONE 
BEGIN:VEVENT 
DTSTART;TZID=TestZone:20130509T120000 
DTEND;TZID=TestZone:20130509T130000 
SUMMARY:Hi! You have set a appointment with us! 
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:MAILTO:[email protected] 
ORGANIZER:MAILTO:[email protected] 
LOCATION:Test Street 
DESCRIPTION:Appointment 
SEQUENCE:0 
PRIORITY:5 
CLASS:PUBLIC 
STATUS:CONFIRMED 
TRANSP:OPAQUE 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:REMINDER 
TRIGGER;RELATED=START:-PT00H15M00S 
END:VALARM 
END:VEVENT 
END:VCALENDAR 

Но когда я загрузить его в моей GMAIL он говорит, календарь установлен в 10 утра - 11 утра

enter image description here

Почему это происходит, если моя конфигурация VTIMEZONE не устанавливает никакого смещения? И как получить фактическое время DTSTART и DTEND в моем календаре?

+0

@oberon Что нужно добавить тег с одним толкателем дает преимущество за вопрос? –

ответ

3

RFC, здесь: http://tools.ietf.org/html/rfc5545

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

Пример:

DTSTART;TZID=America/New_York:19970714T133000 

Вы должны использовать компонент VTIMEZONE в файле мика.

BEGIN:VTIMEZONE 
TZID:America/New_York 
LAST-MODIFIED:20050809T050000Z 
BEGIN:DAYLIGHT 
DTSTART:19670430T020000 
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=-1SU;UNTIL=19730429T070000Z 
TZOFFSETFROM:-0500 
TZOFFSETTO:-0400 
TZNAME:EDT 
END:DAYLIGHT 
BEGIN:STANDARD 
DTSTART:19671029T020000 
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU;UNTIL=20061029T060000Z 
TZOFFSETFROM:-0400 
TZOFFSETTO:-0500 
TZNAME:EST 
END:STANDARD 
END:VTIMEZONE 

Эти примеры были выведены из RFC 5545

Смежные вопросы