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

时间:2016-01-25 04:40:33

标签: icalendar timezone-offset

我在使用Google导出的.ics文件和时区时遇到问题。我有一个事件列表,我正试图进入雅虎组日历。由于雅虎需要.ics文件,我使用.csv将事件导入Google,然后导出日历。这些事件在Google中似乎是正确的。

当我将.ics文件导入Yahoo时,事件时间是UTC-0时区而不是本地时区(American / New_York)。例如,我的测试事件在我的谷歌日历中的上午9点开始,但是在下午2点开始导入雅虎后。我已经读过关于Olson ID和尾随Zs的内容,包括“Eric's Notes:修复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

需要添加/更改哪些内容才能让此活动在雅虎日历中从上午9点开始显示?

1 个答案:

答案 0 :(得分:0)

上述事件是美国/纽约上午9点开始的事件的有效表示。 您确定要导入此事件的Yahoo Calendar是否具有正确的时区设置? 刚刚在雅虎日历中导入它,它正确地代表了事件(在我的情况下下午3点,因为我在CET)。换句话说,它确实考虑了我的本地设置。这是在雅虎个人日历上,而不是第一组。

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

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