Google 中的时区 - 导出的 .ICS 默认为 UTC

Timezone in Google-exported .ICS defaults to UTC

我在 Google 导出的 .ics 文件和时区方面遇到问题。我有一个事件列表,我正试图将它们添加到 Yahoo 组日历中。由于 Yahoo 需要 .ics 文件,我使用 .csv 将事件导入 Google,然后导出日历。 Google.

中的事件似乎是正确的

当我将 .ics 文件导入 Yahoo 时,事件时间采用 UTC-0 时区而不是本地时区 (American/New_York)。例如,我的测试活动在我的 Google 日历中从上午 9 点开始,但在导入到 Yahoo 后从下午 2 点开始。我已经阅读了有关 Olson ID 和尾随 Z 的信息,包括“Eric 的笔记:修复 ICS 时区。我应用此信息的努力要么没有效果,要么将事件推迟了 5 小时(晚上 7 点)。

这是我的测试事件的 .ics 导出:

BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:iCalTest
X-WR-TIMEZONE:America/New_York
X-WR-CALDESC:
BEGIN:VEVENT
DTSTART:20160118T140000Z
DTEND:20160118T160000Z
DTSTAMP:20160125T042448Z
UID:62el6loa5915gu9v9oja988enc@google.com
CREATED:20160125T042434Z
DESCRIPTION:
LAST-MODIFIED:20160125T042434Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Day of Service
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

需要添加/更改什么才能使此事件在 Yahoo 日历中显示为上午 9 点开始?

以上事件是 America/New_York 上午 9 点开始的事件的有效表示。 您确定要导入此事件的 Yahoo Calendar 的时区设置正确吗? 刚刚将它导入 Yahoo Calendar 并且它正确地表示事件(在我的情况下是下午 3 点,因为我在 CET)。换句话说,它确实考虑了我的本地设置。不过,这是在雅虎个人日历上,而不是群组日历。

另一种表示方法是使用本地时间和时区,在这种情况下,您需要删除 DTSTART 和 DTEND 上的 Zulu 后缀。

DTSTART;TZID=America/New_York:20160118T090000
DTEND;TZID=America/New_York:20160118T110000