ICS时区不起作用

时间:2011-10-02 11:41:20

标签: timezone google-calendar-api offset icalendar

我制作了一份包含大量活动的ICS Feed。我的时区似乎不起作用。

在下面的示例中,您会看到我的活动应该从07:55:00开始到09:30:00结束。这是它应该在我的日历中显示的内容。相反,它显示09:55:00和11:30:00 - 两个小时的偏移。时区应设置为Europe/Copenhagen,但这没有任何效果。

有谁能告诉我如何才能实现正确的时间?

BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Test Calendar
X-WR-TIMEZONE:Europe/Copenhagen
X-WR-CALDESC:Test Calendar
BEGIN:VEVENT
DTSTART:20110926T075500Z
DTEND:20110926T093000Z
DTSTAMP:20111002T133505Z
UID:E9QNQ30EG-5SRB7-QQKL3-2JUUZ-477LBRV4IMSJ78
CREATED:20111002T133505Z
LAST-MODIFIED:20111002T133505Z
LOCATION:B34
SEQUENCE:3
SUMMARY:2abc3c Ma3 CD (B34)
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

1 个答案:

答案 0 :(得分:47)

您已指定您的活动于UTC时间07:55 开始 - 这就是最后Z显示的内容。如果你想让它在当地时间,你不应该有Z,你也应该在那里指定时区:

DTSTART;TZID=Europe/Copenhagen:20110926T075500
DTEND;TZID=Europe/Copenhagen:20110926T093000

或者,使用Z指定UTC开始和结束时间,但考虑相关的时区差异 - 因此,目前在欧洲/哥本哈根的07:55开始的事件实际上是UTC中的05:55。 / p>