Obtainthelocaltimezoneidentifierwhentheoperatingsystemdisplaylanguageisnon-English给电脑显示语言名称。我想要一个可以在下面的代码中提供给TimeZoneInfo的编程标识符。TimeZoneInfotimeZoneInfo=TimeZoneInfo.FindSystemTimeZoneById(timeZone);FindSystemTimeZoneById需要一个唯一的非本地化程序标识符我将计算机显示语言更改为中文,当我执行TimeZone.CurrentTimeZone.StandardName时,我得到一个本地化的unicode字符串。然而,该值是正确的,但它已本地化为计算机显示语言,这是我不想要的。我现在没有使用TimeZoneInfo.Local.Id选项,因为我的项目在.Net2.0中。要获得非本地化时区标识符,我还有哪些其他选择?要在不使用TimeZoneInfo类的情况下获得TimeZoneInfo.Local.Id的等效项,您必须直接转到注册表。在.NET2.0C#中,您可以使用以下方法检索它:字符串值=(字符串)key.GetValue("TimeZoneKeyName");如果(string.IsNullOrEmpty(value))value=(string)key.GetValue("StandardName");键.关闭();返回值;WindowsVista及更高版本具有TimeZoneKeyName值,而StandardName值中有一个@tzres.dll指针条目。在WindowsVista之前,StandardName值包含键名并且未本地化。上面的代码说明了这两个变化。以上是C#学习教程:获取操作系统显示语言为非英文时的本地时区标识符共享。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络合集,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处:
