我最近遇到了一個我在電子郵件中收到的ICS文件的問題。我的Outlook 2010副本無法正確識別時區。這裏是一個會議的開始時間在ICS文件表示方式:ICS文件中是否存在缺少Olsen TZ TZID格式的解決方法
DTSTART;TZID=America/Los_Angeles:20110928T183000
當Outlook導入此文件時,它改變了時間從下午6:30太平洋時間下午7:30(太平洋時間)。一些實驗後,我能得到的是正確導入在Outlook中更改時區格式的ICS文件:
DTSTART;TZID="Pacific Time":20110928T183000
經過進一步研究,我發現,ICS file specification離開的時區識別的問題開放,但建議使用the Olsen TZ database。看來,Microsoft Outlook團隊已選擇忽略此建議。
鑑於Outlook是一個相當流行的日曆客戶端,有沒有一種可靠的方式來格式化ICS時區的Outlook仍與其他客戶端兼容?我最關心的這個問題是Outlook導入期間的無提示錯誤。用戶可以在錯誤的時間輕鬆地出席會議,因爲Outlook不會提示它對時區感到困惑。我們應該簡單地將Outlook用戶指向不同的文件格式嗎?
注意:我知道這個問題類似於an earlier post,但該帖子的引用似乎已過期,我想知道是否有更好的解決方案。
http://stackoverflow.com/questions/3763503/writing-ics-files-for-multiple-clients-including-google中的鏈接現在是http://icalevents.com/category/notes/ 。與你的問題相關的最有趣的帖子似乎是http://icalevents.com/2613-what-every-developer-ought-to-know-about-timezones-wrt-calendar-files/ - 但它只是談論解析ics文件(以及不同的tz id),而不是將它們發送給多個客戶端時要做什麼。 Hrmmpf。 –