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