我遇到了Google導出的.ics文件和時區問題。我有一個我試圖進入雅虎團體日曆的活動列表。由於雅虎需要.ics文件,我使用.csv將事件導入Google,然後導出日曆。這些事件在Google中似乎是正確的。Google導出的.ICS中的時區默認爲UTC
當我將.ics文件導入Yahoo時,事件時間在UTC-0時區而不是本地時區(American/New_York)。例如,我的測試活動從我的Google日曆上午9點開始,但在雅虎導入後於下午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:[email protected]
CREATED:20160125T042434Z
DESCRIPTION:
LAST-MODIFIED:20160125T042434Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Day of Service
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
有什麼需要添加/改變,以獲取此事件顯示在雅虎日曆開始於上午9點
意見夫婦:'X-WR-TIMEZONE'不是RFC5545所以在使用它你可能會有所不同的標準功能。作爲一個可能的快速解決方案,您可能需要檢查是否向'DTSTART'屬性中添加'TZID',就像'DTSTART; TZID = America/New_York'一樣,否則您必須添加一個'VTIMEZONE'組件作爲RFC5545兼容。 – oberron