TimeZoneInfo和夏令时

时间:2014-01-30 05:48:07

标签: c# .net c#-4.0 .net-4.0 timezone

我使用TimeZoneInfo.ConvertTime方法将源TimeZone转换为Destination TimeZone。这对我来说很好。我想知道,如果为目的地TimeZone更改了夏令时,它将在.Net 4.0中自动处理。

以下是我用于转换的代码。

TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, timeZoneInfo)

1 个答案:

答案 0 :(得分:4)

是的,TimeZoneInfo.ConvertTime尽可能处理夏令时。

但是,请注意,如果您使用的DateTime具有某种“未指定”(例如,已从字符串中解析过),您的源时区可能不明确 。 (例如,如果时钟从早上2点回到凌晨1点,则那天凌晨1点30分发生两次。)DateTime.Now应该不是问题,因为“本地”类型实际上可能是“本地和模糊时代的早期“或”本地和后来的模糊时代“。

如果您想要更多地控制转化 - 以及提供更多描述性类型 - 您可能需要查看我的Noda Time库。