当非英语操作系统时,GetSystemTimeZone用英语

时间:2011-11-16 07:52:16

标签: c#

在我们的C#应用​​程序中,我们支持多种Languages.Now如果应用程序语言是英语,我们的应用程序以非英语安装的操作系统(比如说西班牙语)。 当我尝试使用TimeZoneInfo.GetSystemTimeZones()检索SystemTime Zones时,它给了我西班牙语。我有什么方法可以用英语获得它或者有任何通用的解决方案。

3 个答案:

答案 0 :(得分:2)

TimeZoneInfo.GetSystemTimeZones Method

“如果您的应用程序需要在本地计算机上找不到时区,您可以使用CreateCustomTimeZone方法的重载创建自定义时区。有关详细信息,请参阅如何:创建没有调整规则的时区以及如何:创建带调整规则的时区。“

此外,

“GetSystemTimeZones方法仅返回注册表中定义的时区的TimeZoneInfo对象集合。它不包括使用CreateCustomTimeZone方法的重载创建的时区。”

答案 1 :(得分:1)

尝试暂时设置当前文化:

var orgCulture = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture 
    = Thread.CurrentThread.CurrentUICulture 
        = new CultureInfo("en-us");

var zones = TimeZoneInfo.GetSystemTimeZones();
// get names here

Thread.CurrentThread.CurrentCulture 
    = Thread.CurrentThread.CurrentUICulture 
        = orgCulture;

答案 2 :(得分:0)

为什么不使用DateTime.Now.ToLongDateString()?