ToUniversalTime 的不同时间输出

Different time output for ToUniversalTime

我无法理解或找不到任何信息来解释为什么下面有两个不同的时间分量输出(12p.m 和 11 a.m)。有人可以解释一下吗。

        DateTime d1 = new DateTime(2015, 05, 15).ToUniversalTime();
        DateTime d2 = new DateTime(2015, 02, 02).ToUniversalTime();

        Console.WriteLine(d1.ToString()); //OUTPUTS - 1/05/2015 12:00:00 p.m.
        Console.WriteLine(d2.ToString()); //OUTPUTS - 1/02/2015 11:00:00 a.m.

ToUniveralTime 方法将代码为 运行 的本地时区转换为 UTC。

由于时区可以 更改 它们在一年中不同时间与 UTC 的偏移量,因此两个不同日期之间的值很容易不同 - 特别是因为一个日期是冬天,另一个是在夏天,由于夏令时

另见,the DST tag wiki, and "time zone != offset" in the timezone tag wiki