还记得用户选择Cookie中的TimeZoneInfo,要使用C#中的属性吗?

时间:2012-07-24 06:57:06

标签: c# asp.net timezone

我有一个DropDownList控件,在调用时填充了TimeZones:

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

现在我想添加一个选项来记住持久性cookie中的先前用户选择,但我无法确定使用哪个参数:我想使用GMT / UTC的时间偏移,但可能有列表中的多个时区具有相同的偏移量。使用TimeZoneInfo.Id属性对我来说似乎也很糟糕,因为它由描述性字符串表示,例如“太平洋标准时间”,这可能会对本地化造成问题(如果是外语)。

那么任何建议我应该使用什么?

1 个答案:

答案 0 :(得分:3)

TimeZoneInfo.Id正是要使用的价值。然后,您可以使用TimeZoneInfo.FindSystemTimeZoneById获取它。

即使看起来像一个可本地化的字符串,但它确实不是 - 我相信你会得到与你正在使用的文化相同的结果。 (说实话并不清楚 - 我发现很难说服任何一个属性在测试程序中给出非英语结果。)