C# 时区信息和夏令时

C# 时区信息和夏令时,c#,.net,c#-4.0,.net-4.0,timezone,C#,.net,C# 4.0,.net 4.0,Timezone,我使用TimeZoneInfo.ConvertTime方法将源时区转换为目标时区。这对我来说很好。我想知道,如果目标时区的夏令时已更改,它是否会在.NET4.0中自动处理 下面是我用于转换的代码 TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, timeZoneInfo) 是的,TimeZoneInfo.ConvertTime尽可能地处理夏令时 但是,请注意,如果您使用的DateTime带有一种“未指定”(例如,从字符串中解析

我使用
TimeZoneInfo.ConvertTime
方法将源时区转换为目标时区。这对我来说很好。我想知道,如果目标时区的夏令时已更改,它是否会在.NET4.0中自动处理

下面是我用于转换的代码

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

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

但是,请注意,如果您使用的
DateTime
带有一种“未指定”(例如,从字符串中解析出来的),那么它在您的源时区中可能是不明确的。(例如,如果时钟从凌晨2点返回到凌晨1点,那么当天会发生两次凌晨1点30分。)这对于
日期时间应该不是问题。现在
,因为“本地”类实际上可以是“本地和较早的不明确时间”或“本地和较晚的不明确时间”


如果您想更好地控制转换,以及拥有更多描述性类型,您可能需要查看我的库。

为什么不自己尝试一下呢?