为什么下面的代码会导致(-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