2010-12-08 5 views
7

시간 단위가 아닌 날짜 별 값만 비교하고 싶습니다. 내가 어떻게 할 수 있니?은 날짜/시간 값을 날짜로 비교합니다.

나는 날에 의해 선택된 간격 외부에있는 어떤 값을 제거하려면 : 귀하의 경우 그래서

DateTime currentTime = Datetime.Now; 
DateTime aBitEarlier = currentTime.AddHours(-5).AddMinutes(-4); 

if (currentTime.Date == aBitEarlier.Date) 
{ 
    ... 
} 

:

if (DateTime.Compare(DateTime.Parse(t.Rows[i][1].ToString().Trim()), dateTimePicker1.Value) < 0 || DateTime.Compare(DateTime.Parse(t.Rows[i][1].ToString().Trim()), dateTimePicker2.Value) > 0) 
/*remove comand*/ 

답변

8

이 속성에는 DateTime 개체의 날짜 부분 만 포함되어 있으므로이 속성은입니다.

if (DateTime.Compare(DateTime.Parse(t.Rows[i][1].ToString().Trim()).Date, 
    dateTimePicker1.Value.Date) < 0 || DateTime.Compare(DateTime.Parse(t.Rows[i]1].ToString().Trim()).Date, 
    dateTimePicker2.Value.Date) > 0) 
4
DateTime d1, d2'; 

... 

// following will compare by date and time both 
d1 == d2 

// following will compare by date only 
d1.Date == d2.Date 
1

당신은이 같은 날짜 속성을 사용할 수 있습니다 :

if (DateTime.Compare(DateTime.Parse(t.Rows[i][1].ToString().Trim()).Date, dateTimePicker1.Value.Date) < 0 || DateTime.Compare(DateTime.Parse(t.Rows[i][1].ToString().Trim()).Date, dateTimePicker2.Value.Date) > 0) 
{ 
    ... 
} 
5

Utc 및 로캘 문제도 알고 있어야합니다. 나를 위해 Utc에서 모두 비교하는 것이 중요합니다!

그래서

Datetime d1, d2; 
d1 = d1.toUniversalTime().Date; 
d2 = d2.toUniversalTime().Date; 
if(DateTime.Compare(d1, d2)).... 
그런 짓을
관련 문제