TimeZoneInfo在需要之前一小时不明确

时间:2013-05-29 13:24:28

标签: c# dst

使用TimeZoneInfo我遇到了一个问题。这可能只是一个理解微软已经在TimeZoneInfo中提出的想法的问题。

问题是,如果我运行这些代码行:

var tzi = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
bool result = tzi.IsAmbiguousTime(new DateTime(2013, 11, 3, 1, 15, 0));

结果是真的。

11月3日我们应该从夏令时改回正常时间,所以在2:59:5999999时间将变为2:00:00

那么为什么时间戳01:15:00是一个模糊的时间?

1 个答案:

答案 0 :(得分:3)

您的陈述不正确:时间将在当地时间02:00(即EDT)发生变化,并转回美国东部时间01:00。这意味着将有两个实例01:15:00,因此应该预期结果。

Wikipedia

  

在11月的第一个星期日,美国东部时间凌晨2点,时钟是   回到美国东部时间凌晨1点,“重复”一小时。

有趣的是,您可以通过明确说明时间是EDT还是EST来消除两者之间的歧义。