5

我有一个功能,其中包括从 Utc 到 Local 的转换,反之亦然。问题是,当我在装有 Win 7 的 PC 上运行它时,它工作正常,但是当我在装有 Vista 的 PC 上运行它时,转换出错了。

例如:我当前的时区是 +2 UTC

MyCurrentTime 设置为 27.09.2012, 19:00 并且 DateTimeKind 未指定。

DateTime utcTime = DateTime.SpecifyKind(MyCurrentTime,DateTimeKind.Utc);  
DateTime localTime = new DateTime();                             
localTime = utcTime.Date.ToLocalTime();

Win 7 上的输出是 27.09.2012, 17:00

Vista 上的输出是 27.09.2012, 04:00

任何想法为什么会发生这种情况?

谢谢。

4

1 回答 1

2

该解决方案是https://stackoverflow.com/users/570150/v4vendetta建议的解决方案。

Win 7 和 Vista 机器都“同意”了正确的时间。

localTime= TimeZone.CurrentTimeZone.ToLocalTime(utcTime);

非常感谢!

于 2012-09-28T12:43:26.163 回答