仅按日期比较日期时间值

Ale*_*lex 7 c#

我希望仅按日期而不是按小时与日期时间值进行比较.我怎么能这样做?

我想删除一些超出我选择的时间间隔的值:

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*/
Run Code Online (Sandbox Code Playgroud)

Øyv*_*hen 8

使用此DateTime.Date属性,因为它只包含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)
Run Code Online (Sandbox Code Playgroud)


yka*_*hou 5

还要注意Utc和Locale问题.对我而言,在Utc进行所有比较非常重要!

所以做点什么

Datetime d1, d2;
d1 = d1.toUniversalTime().Date;
d2 = d2.toUniversalTime().Date;
if(DateTime.Compare(d1, d2))....
Run Code Online (Sandbox Code Playgroud)