2012-07-24 66 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

相关问题