TimeZone.StandardName在Windows 7上显示错误的名称

时间:2016-11-09 12:59:40

标签: c# .net timezone

richTextBox1.AppendText(TimeZone.CurrentTimeZone.StandardName + "\n");
richTextBox1.AppendText(TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).TotalMinutes + "\n");

这一行代码已成为我们团队中许多QA和开发人员的头疼问题。它在Windows 8.1和10上显示正确的时区名称和UTC偏移量:

Bangladesh Standard Time
360

但在Windows 7上显示以下错误的标准名称:

Azores Standard Time
360

代码在C#.NET 4.0中编译。

我怀疑某些PC设置是导致此更改的原因。可能是什么原因?

1 个答案:

答案 0 :(得分:0)

这是一种解决方法。

将系统时区更改为其他内容可解决此问题。即,TimeZone.CurrentTimeZone.StandardName开始显示正确的时区名称。

我不知道它是否是Windows' bug或.NET的bug。