2012-08-09 183 views
1

爲什麼下面的代碼會導致(-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

您好像比較strings這裏。如果使用字符串'7/9/12 5:00:00 AM'進行比較,則得到的結果爲1,因爲'7/9/12 5:00:00 AM'按字典順序大於'7/17/2012 5:00:00 AM'

+0

這是有道理的,謝謝湯姆 - 我試過使用DateTime.Parse()和Convert.toDateTime但結果相同。我將comparTo切換到DateTime.Compare(startDate,endDate),它似乎正常工作。 – Blake 2012-08-09 17:04:40

3

-1意味着startDateendDate,這是真的在這種情況下更早。根據docsCompareTo回報:

  • < 0實例比值
  • == 0早期的教實例是相同的值
  • > 0實例晚於值或值是空
0

CompareTo方法返回-1:2012/7/16 5:00:00早於7/1/2012 5:00:00上午

Link : http://msdn.microsoft.com/fr-fr/library/5ata5aya.aspx