從昨天(美國當天節能調整的第一天開始),在兩臺不同計算機上運行的相同代碼給出了不同的結果。下面是代碼:C#UTC到本地時間轉換意外的結果
DateTime t = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(
DateTime.UtcNow, r.timeZone);
雖然這裏使用的時區是 「美國東部標準時間」
輸入(DateTime.UtcNow)爲2012/03/13 19時10分零零秒
在一個的Windows XP SP3的機器代碼返回:2012/03/13 14:10:00
在基於Windows Server 2008計算機相同的代碼返回:2012/03/13 15:10:00
這不是預期。有什麼想法嗎?
最好。
您是否在兩臺計算機上安裝了所有Windows更新? – SLaks 2012-03-13 19:33:22
愚蠢的問題,但你上週和一週進行了一次測試嗎? DST在本週末剛剛生效。 – 2012-03-13 19:34:54
什麼是'Windows server 2007'? =)檢查是否所有的DST補丁都安裝在XP SP3中,我認爲XP返回錯誤的結果。 – Artem 2012-03-13 19:35:37