2016-11-09 29 views
0
richTextBox1.AppendText(TimeZone.CurrentTimeZone.StandardName + "\n"); 
richTextBox1.AppendText(TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).TotalMinutes + "\n"); 

這行代碼已成爲我們團隊中衆多QA和開發人員的頭痛問題。它顯示正確區名稱和UTC在Windows 8.1和10偏移:TimeZone.StandardName在Windows 7上顯示錯誤的名稱

Bangladesh Standard Time 
360 

但顯示錯誤標準名稱在Windows 7下:

Azores Standard Time 
360 

的代碼是C#編譯。 NET 4.0。

我懷疑一些電腦設置是負責這一變化。可能是什麼原因?

回答

0

以下是解決方法。

將系統時區更改爲其他內容可修復此問題。即,TimeZone.CurrentTimeZone.StandardName開始顯示正確的時區名稱。

我不知道它是Windows的錯誤還是.NET的錯誤。