ASP.NET Core DateTime-ToLocalTime与ConvertTime

lss*_*lss 6 c# .net-core

将UTC日期时间转换为本地时间(CET)的正确方法是什么?我应该使用System.DateTime.ToLocalTime()还是TimeZoneInfo.ConvertTime()?有什么区别吗?还是它们只是内部互相调用的两个方法?

Mic*_*l S 5

两种方法都可以正常工作,我认为任何一种都不比另一种更正确。

它们在标准用法上最明显的区别是System.DateTime.ToLocalTime()使用系统提供的本地时区,而TimeZoneInfo.ConvertTime()使用您指定的时区(例如,对CET进行硬编码)。

在这两种情况下,您都应注意该Kind物业,有时这可能会破坏您的一天。

无论如何,您可能要检查此问题,当然还要检查两种方法的MSDN文档,这很好地总结了它们的行为。