以下代码(在 C# 中)如何返回 false :
DateTime d = DateTime.Now;
d.Ticks == d.ToUniversalTime().Ticks; // false
我希望 DateTime 的刻度基于 UTC 时间。DateTime.Ticks上提到的 MSDN 页面说
此属性的值表示自 0001 年 1 月 1 日午夜 12:00:00 以来经过的 100 纳秒间隔数,它表示 DateTime.MinValue。它不包括可归因于闰秒的滴答数。
0001 年 1 月 1 日午夜 .. 在哪个时区?
为什么 DateTime.Ticks 取决于时区?
我想 Ticks 不同的事实是以下代码也返回 false 的原因
DateTime d = DateTime.Now;
d == d.ToUniversalTime(); // false
DateTime.Equals上的 MSDN 文档提到
如果 Ticks 属性值相等,则 t1 和 t2 相等。在相等性测试中不考虑它们的 Kind 属性值。
我的期望是 DateTime.Ticks 是平等的,无论时区如何。
无论它们发生在哪个时区,我都希望两个时刻是相等的。我的期望错了吗?