爲什麼下面的代碼會導致(-1)?日期比較結果
當startDate設置爲7/9/12 5:00:00 AM compareValue返回1.我期望在下面的場景中獲得積極的1,但獲得(-1)。
startDate = "7/16/2012 5:00:00 AM"
endDate = "7/17/2012 5:00:00 AM"
//enter code here
int compareValue = startDate.CompareTo(endDate);
爲什麼下面的代碼會導致(-1)?日期比較結果
當startDate設置爲7/9/12 5:00:00 AM compareValue返回1.我期望在下面的場景中獲得積極的1,但獲得(-1)。
startDate = "7/16/2012 5:00:00 AM"
endDate = "7/17/2012 5:00:00 AM"
//enter code here
int compareValue = startDate.CompareTo(endDate);
您好像比較strings
這裏。如果使用字符串'7/9/12 5:00:00 AM'進行比較,則得到的結果爲1
,因爲'7/9/12 5:00:00 AM'
按字典順序大於'7/17/2012 5:00:00 AM'
。
-1
意味着startDate
比endDate
,這是真的在這種情況下更早。根據docsCompareTo
回報:
CompareTo方法返回-1:2012/7/16 5:00:00早於7/1/2012 5:00:00上午
Link : http://msdn.microsoft.com/fr-fr/library/5ata5aya.aspx
這是有道理的,謝謝湯姆 - 我試過使用DateTime.Parse()和Convert.toDateTime但結果相同。我將comparTo切換到DateTime.Compare(startDate,endDate),它似乎正常工作。 – Blake 2012-08-09 17:04:40