我想比较两个日期;一个取自SQL中的Date
列和当前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变量中删除时间?
答案 0 :(得分:5)
是的,使用DateTime结构的Date属性,或者只使用DateTime.Today。
e.g。
DateTime compareDate = DateTime.Now.Date
或
DateTime compareDate = DateTime.Today
答案 1 :(得分:1)
在要从中删除时间的DateTime变量上使用属性“Date”。
var pureDate = DateTime.Now.Date;