1

我想比较两个日期;一个取自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";
}

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

4

2 回答 2

5

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

例如

DateTime compareDate = DateTime.Now.Date

或者

DateTime compareDate = DateTime.Today 
于 2012-08-29T18:21:45.083 回答
1

在要从中删除时间的 DateTime 变量上使用属性“Date”。

var pureDate = DateTime.Now.Date;
于 2012-08-29T18:22:23.600 回答