2016-01-25 28 views
0

我遇到了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點

+0

意見夫婦:'X-WR-TIMEZONE'不是RFC5545所以在使用它你可能會有所不同的標準功能。作爲一個可能的快速解決方案,您可能需要檢查是否向'DTSTART'屬性中添加'TZID',就像'DTSTART; TZID = America/New_York'一樣,否則您必須添加一個'VTIMEZONE'組件作爲RFC5545兼容。 – oberron

回答

0

上述事件是一個有效的表示從America/New_York上午9點開始的活動 您確定您正在導入此前夜的Yahoo日曆NT有一個正確的時區設置? 剛剛將它導入到雅虎日曆中,並且它正確地代表了該事件(因爲我在CET中,因此我的情況下午3點)。換句話說,它確實考慮了我的本地設置。不過,這是在雅虎個人日曆上,而不是一個組。

另一種表示方法是使用本地時間和時區,在這種情況下,您需要刪除DTSTART和DTEND上的祖魯語後綴。

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

感謝您的迴應和新的方向尋找。我發現,雖然你可以在雅虎集團日曆(我有)設置時區,其官方時區來自集團​​所有者的個人日曆 - 設置爲格林尼治標準時間/世界標準時間。我已聯繫店主,並會看看它是否可以在那裏糾正。 我考慮過你的選擇,但這意味着要編輯所有的事件,我不確定這是否值得去做。 – MSinclair

+0

鑑於問題出在顯示時區,替代表示很可能無法解決您的問題。 – arnaudq