我有一个函数,其中包括从 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
知道为什么会这样吗?
谢谢。
最佳答案
解决方案是 https://stackoverflow.com/users/570150/v4vendetta 建议的解决方案.
Win 7 和 Vista 机器都“同意”了正确的时间。
localTime= TimeZone.CurrentTimeZone.ToLocalTime(utcTime);
非常感谢!
关于c# - .NET 4.0 中从 Utc 到 Local 的 DateTime 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636780/