LINQ 比较时间跨度
LINQ Compare TimeSpan
在我的数据库中有像
这样的行
在我的 Blazor 应用程序中,如果时钟在 TimeStart 前 15 分钟和 TimeEnd 前 15 分钟,我需要找到匹配项。
如果时钟在 9.45 和 10.45 之间,我想要 RowID 27
如果时钟在 10.45 和 11.45 之间,我想要 RowID 28
我试过:
IEnumerable<Overview> mydata = from a in overview
where (a.Timestart > Minus15Min &&
a.Timeend.Value.Subtract(new TimeSpan(00, 15, 00)) > Minus15Min)
select a;
您的问题在 Start 和 End 方面非常对称,但您的代码对它们的处理方式不同。另外,你有两个 >
的范围,这是非常值得怀疑的。
怎么样
var nowPlus15 = DateTime.Now.AddMinutes(15);
IEnumerable<Overview> mydata = from a in overview
where (a.Timestart <= nowPlus15 &&
a.Timeend > nowPlus15)
select a;
在我的数据库中有像
这样的行在我的 Blazor 应用程序中,如果时钟在 TimeStart 前 15 分钟和 TimeEnd 前 15 分钟,我需要找到匹配项。
如果时钟在 9.45 和 10.45 之间,我想要 RowID 27
如果时钟在 10.45 和 11.45 之间,我想要 RowID 28
我试过:
IEnumerable<Overview> mydata = from a in overview
where (a.Timestart > Minus15Min &&
a.Timeend.Value.Subtract(new TimeSpan(00, 15, 00)) > Minus15Min)
select a;
您的问题在 Start 和 End 方面非常对称,但您的代码对它们的处理方式不同。另外,你有两个 >
的范围,这是非常值得怀疑的。
怎么样
var nowPlus15 = DateTime.Now.AddMinutes(15);
IEnumerable<Overview> mydata = from a in overview
where (a.Timestart <= nowPlus15 &&
a.Timeend > nowPlus15)
select a;