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设置是导致此更改的原因。可能是什么原因?
答案 0 :(得分:0)
这是一种解决方法。
将系统时区更改为其他内容可解决此问题。即,TimeZone.CurrentTimeZone.StandardName
开始显示正确的时区名称。
我不知道它是否是Windows' bug或.NET的bug。