richTextBox1.AppendText(TimeZone.CurrentTimeZone.StandardName + "n");
richTextBox1.AppendText(TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).TotalMinutes + "n");
这行代码已经成为我们团队中许多qa和开发人员的头痛。在Windows 8.1和Windows 10上显示正确的时区名称和UTC偏移量:
Bangladesh Standard Time
360
但是显示错误标准名称在Windows 7上如下:
Azores Standard Time
360
代码是在c# . net 4.0中编译的。
我怀疑一些PC设置是负责这个变化。原因是什么呢?
这是一个解决方法。
将系统时区更改为其他时区可以解决此问题。即,TimeZone.CurrentTimeZone.StandardName
开始显示正确的时区名称。
我不知道这是Windows的错误还是。net的错误