如何从标准DateTime格式转换为UTC ?
更具体地说,如果我DateTime在一个时区创建一个对象然后切换到另一个时区并ToUniversalTime()在其上运行,它如何知道转换是否正确完成并且时间仍然准确表示?
我最近更新了我的系统,将日期/时间记录为UTC,因为它们以前存储为本地时间.
我现在需要将所有本地存储的日期/时间转换为UTC.我想知道是否有任何内置函数,类似于.NET的ConvertTime方法?
我试图避免编写实用程序的应用程序为我这样做.
有什么建议?
在MSDN页面中TimeZoneInfo.ConvertTimeToUtc(),有以下信息框:
如果当前计算机的本地时区包含多个调整规则,则ConvertTimeToUtc方法的此重载可以返回与TimeZone.ToUniversalTime和DateTime.ToUniversalTime方法不同的结果.无论dateTime是否在其日期范围内,TimeZone.ToUniversalTime始终将当前调整规则应用于时区转换.在.NET Framework 3.5上执行时,DateTime.ToUniversalTime也会将当前调整规则应用于时区转换,无论dateTime是否位于其日期范围内.
我不确定我明白这意味着什么.这些是什么调整规则,以及如何将结果之间的差异ConvertTimeToUtc()和TimeZone.ToUniversalTime()?