爲什麼下面的代碼(在C#)返回false:DateTime.Ticks,DateTime.Equals和時區
DateTime d = DateTime.Now;
d.Ticks == d.ToUniversalTime().Ticks; // false
我期望日期時間的刻度是基於UTC時間。 上DateTime.Ticks的MSDN頁提到說
此屬性的值表示自午夜12:00:00,0001年1月1,表示DateTime.MinValue已經過去的100納秒的間隔的數量。它不包括可歸因於閏秒的滴答數。
午夜第一,0001一月..在時區?
爲什麼會DateTime.Ticks是時區相關?
我想這一個事實,即蜱是不同的就是下面的代碼也將返回false
DateTime d = DateTime.Now;
d == d.ToUniversalTime(); // false
上DateTime.Equals的MSDN文檔中提到
T1和T2是如果他們的蜱屬性等於值是相等的。在平等測試中不考慮他們的Kind屬性值。
我的期望是DateTime.Ticks將是平等的,不管時區。
我所期待的時間兩個時刻等於他們發生了什麼時區沒有關係。我的期望錯了嗎?
注(http://msdn.microsoft.com/en-us/library/system.datetimeoffset.op_equality.aspx),它比較兩種情況下的時刻進行比較。 – 2012-04-20 19:04:21
@ChrisShaffer謝謝,我認爲這是我應該使用的,因爲我正在尋找的是確切的時刻,而不是實際的「日期」。 – GuiSim 2012-04-20 19:13:20