4

使用 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 是一个模棱两可的时间呢?

4

1 回答 1

3

您的说法不正确:时间将在当地时间 02:00(即美国东部时间)更改并返回到美国东部标准时间 01:00。这意味着将有两个01:15:00 的实例,因此结果应该是预期的。

维基百科

在 11 月的第一个星期日,美国东部时间凌晨 2:00,时钟被移回美国东部标准时间凌晨 1:00,因此“重复”了一个小时。

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

于 2013-05-29T13:33:38.090 回答