从昨天开始(美国节日调整的第一天开始。)在两台不同的计算机上运行的相同代码会产生不同的结果。以下是代码:
DateTime t = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(
DateTime.UtcNow, r.timeZone);
虽然这里使用的时区是“美国东部标准时间”
输入(DateTime.UtcNow)是2012/03/13 19:10:00
在Windows XP SP3计算机上,代码返回:2012/03/13 14:10:00
在Windows Server 2008计算机上,相同的代码返回:2012/03/13 15:10:00
这不是预期的。有什么想法吗?
最佳。
答案 0 :(得分:4)
XP计算机上的当前时区为“US Eastern Standard Time”,而Server服务器上的当前时区为“US Eastern Daylight Time”。周日,美国从标准时间变为白昼时间。也许XP机器需要更新其时区信息。