i使用 TimeZoneInfo.ConvertTime
方法从源时区转换为目标时区。这对我来说很好。我想知道,如果为目标时区更改了日光节省,将在.NET 4.0中自动处理。
以下是我用于转换的代码。
TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, timeZoneInfo)
是的, TimeZoneInfo.ConvertTime
尽其所能处理日光节省时间。
但是,请注意,如果您使用的是带有一种"未指定"的DateTime
(例如,从字符串中解析它),则可能在源时区域内模棱两可。(例如,如果时钟从凌晨2点到凌晨1点,那么当天凌晨1.30发生。)对于DateTime.Now
来说,这不是问题,因为"本地"类型实际上可以是"本地",并且含糊不清。时间"或"本地和后期的歧义时间"。
如果您想对转换进行更多控制 - 以及具有更多描述性类型 - 您可能想看看我的Noda Time库。