2012-08-09 2 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'문자열을 비교하면 '7/9/12 5:00:00 AM'이 사전 식으로 '7/17/2012 5:00:00 AM'보다 크기 때문에 1이라는 결과가 나타납니다.

+0

감사합니다. Tom - DateTime.Parse() 및 Convert.toDateTime을 사용했지만 동일한 결과가 나타났습니다. 나는 comparTo를 DateTime.Compare (startDate, endDate)로 바꾸었고 제대로 작동하는 것 같습니다. – Blake

3

-1startDate는이 경우에 해당하는 endDate,보다 빠른 것을 의미한다. docsCompareTo 반환에 따르면

  • < 0 인스턴스 값
  • ==보다 eariler 0 인스턴스
  • > 0 인스턴스 나중에 값 또는 값보다 값과 동일한 널
0

CompareTo 메서드는 -1을 반환합니다. 2012 년 7 월 16 일 5:00:00은 2012 년 7 월 1 일 5:00:00보다 이전입니다.