c# - Linq 选择昨天的日期

标签 c# asp.net linq datetime

我已经做到了这一点:

DateTime yesterday = DateTime.Today.AddDays(-1);
YesterdaysRegistrations = db.tblForumAuthors.Where(c => c.Join_date == yesterday).Count();

肯定有昨天加入日期的记录,但这始终返回 0!谁能告诉我我这样做是否正确?

最佳答案

AddDays 保留小时/分钟/秒组件。您要么必须使用(如果 c.Join_date 只是日期组件):

DateTime yesterday = DateTime.Today.AddDays(-1).Date;

否则,你比较范围:

DateTime yesterday = DateTime.Today.AddDays(-1).Date;
DateTime yesterdayEnd = DateTime.Today.Date.AddSeconds(-1);
db.tblForumAuthors.Where(c => c.Join_date >= yesterday && c.Join_date < yesterdayEnd)

关于c# - Linq 选择昨天的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5655244/

相关文章:

asp.net - 使用 ASP .Net MVC4 在 Web API 中处理集合内的集合

c# - 没有虚拟和覆盖的功能覆盖

c# - 使用表达式、静态方法和基对象获取类的属性名称

c# - 计数错误,但我没有在我的 LINQ 表达式中使用计数,

C#根据参数值在子列表中拆分列表

c# - 如何将应用程序从 xcode 部署到设备

c# - 从 C# 多次调用 KnokcoutJS ViewModel,无需单击按钮

c# - DateTime.now 从数据库中减去值

C# 林奇 : Dynamically create property and values that includes sum of a value from a grouped query

c# - 优化 LINQ 查询