在linq中,我如何区分日期,就像我们使用的sql一样 DATEDIFF(毫米,GETDATE(),GETDATE())= 0 现在我怎么能用linq写的,任何身体都可以帮助我谢谢你。
答案 0 :(得分:2)
我认为这就是你想要的:
var query = from entity in entities
where entity.SomeDateTime.Date == anotherDateTime.Date
select entity;
这只比较日期,而不是时间。
答案 1 :(得分:1)
您可以使用此代码在C#
中使用linq比较两个日期 DateTime d1 = myDate1;
DateTime d2 = myDate2;
TimeSpan t1 = d2.Subtract(d1);
totalDays = t1.Days;
答案 2 :(得分:1)
Linq没有什么特别的日期和时间处理,所以我们应该看看普通的.Net设施。
C#中的DateTime
是日期和时间。
要在C#中获取日期组件,请尝试以下操作:
var now = DateTime.UtcNow; // or DateTime.Now for local time/day
DateTime today = now.Date;
这将为您提供同一天午夜的日期和时间。
如果您希望获得两个DateTime
个对象之间的天数差异:
public TimeSpan DiffDates(DateTime d1, DateTime d2)
{
return d1.Date - d2.Date;
}
// ...
if(DiffDates(dateTime1, dateTime2) == TimeSpan.Zero)
{
// ...
}
或者,您可以直接查看日期是否相等:
if(dateTime1.Date == dateTime2.Date)
{
// ...
}
如果您跳过.Date
属性,则会得到错误的结果。