TimeZoneInfo在需要前一小时不确定

本文关键字:一小时 不确定 TimeZoneInfo | 更新日期: 2023-09-27 18:16:06

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

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

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

result is true.

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

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

TimeZoneInfo在需要前一小时不确定

您的语句不正确:时间将在当地时间02:00更改(这意味着:EDT)并移回东部时间01:00。这意味着将有两个实例为01:15:00,因此结果应该是预期的。

维基百科:

在十一月的第一个星期日,美国东部时间凌晨2点,时钟为移回东部时间凌晨1点,因此"复制"了一个小时。

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