【发布时间】:2014-09-30 03:57:16
【问题描述】:
我有一个用户尝试将其导入 Outlook for Mac 2011 的 ics 文件。
BEGIN:VCALENDAR
VERSION:2.0
PRODID:anonymized
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:Europe/Prague
BEGIN:DAYLIGHT
DTSTART:20140330T030000
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
RRULE:FREQ=YEARLY;BYDAY=5SU;BYMONTH=3
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:20141026T020000
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
RRULE:FREQ=YEARLY;BYDAY=4SU;BYMONTH=10
TZNAME:CET
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20140807T001736Z
UID:12345
DTSTART;TZID=Europe/Prague:20140808T090000
DTEND;TZID=Europe/Prague:20140808T100000
CREATED:20140805T162858Z
LAST-MODIFIED:20140806T052758Z
SEQUENCE:0
STATUS:confirmed
SUMMARY:My event for which everyone with Outlook will be an hour late to
END:VEVENT
END:VCALENDAR
每个其他日历程序都会在上午 9:00 在布拉格显示此事件,但 Outlook 在上午 10:00 显示它。看来 Outlook 正在使用 VTIMEZONE 中的 STANDARD 块来计算时间并且从不应用 DST 偏移量。我认为这是因为完全删除 STANDARD 块或将 STANDARD 块内的 TZOFFSETTO 更改为 +0200 会导致事件在正确的时间显示。
这两个显然都不是初学者,因为它们会破坏地球上所有其他日历应用程序。
我是否遗漏了有关指定 Outlook 使用时区的内容?
【问题讨论】:
标签: outlook timezone icalendar dst timezone-offset