比较两个日期的最有效方法; 一个与时间,一个没有

Cod*_*kus 1 c# datetime webforms

我想比较两个日期; 一个取自DateSQL中的列和当前DateTime.Now.前者没有时间部分(技术上确实如此,但是它已经归零),当然后者将使用当前时间到最接近的毫秒.这是我现在正在做的事情,看起来效率低下:

DateTime compareDate = Convert.ToDateTime(string.Format("{0:M/d/yyyy}", DateTime.Now));
if (myObj.EndDate < compareDate)
{
    myObj.Status = "PAST";
}
else if (myObj.StartDate <= compareDate && myObj.EndDate >= compareDate)
{
    myObj.Status = "ACTIVE";
}
else
{
    myObj.Status = "PENDING";
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法去除DateTime变量的时间?

Chr*_*ain 5

是的,使用DateTime结构的Date属性,或者只使用DateTime.Today.

例如

DateTime compareDate = DateTime.Now.Date
Run Code Online (Sandbox Code Playgroud)

要么

DateTime compareDate = DateTime.Today 
Run Code Online (Sandbox Code Playgroud)