2012-07-24 45 views
4

我有一個填充的時區從調用DropDownList控件:記住用戶在Cookie中使用TimeZoneInfo的選擇,從C#使用的屬性?

ReadOnlyCollection<TimeZoneInfo> tzCollection; 
tzCollection = TimeZoneInfo.GetSystemTimeZones(); 

現在我想補充一個選項,記得在永久性Cookie前一位用戶的選擇,但我想不出要使用的參數爲此:我想使用GMT/UTC的時間偏移量,但列表中可能有多個時區具有相同的偏移量。並且使用TimeZoneInfo.Id屬性對我來說似乎也不好,因爲它由諸如「太平洋標準時間」之類的描述性字符串表示,這可能會給本地化帶來問題(在使用外語的情況下)。

因此,任何建議是什麼我應該使用?

回答

3

TimeZoneInfo.Id恰恰是使用的價值。然後你可以用TimeZoneInfo.FindSystemTimeZoneById來獲取它。

即使它看起來一個本地化的字符串,它真的不是 - 我相信你會得到你使用任何文化相同的結果。 (說實話並不清楚 - 我發現很難說服任何屬性在測試程序中給出非英語結果。)

+0

謝謝,喬恩。從一個不相關的角度來看 - 有沒有辦法爲特定文化獲取時區名稱? – ahmd0 2012-07-24 07:07:06

+0

@ ahmd0:我不知道,我很害怕 - 我在API中看不到任何東西:( – 2012-07-24 07:35:20

相關問題