当前位置: 首页 > 知识库问答 >
问题:

实体框架获取当前日期行(当天的时间)

温凯
2023-03-14

我有一个表,dateime的值是这样的

2021-12-08 10:10:54.657
2021-12-08 10:10:41.567
2021-12-08 10:09:51.960
2021-12-08 10:10:54.657
2021-12-08 10:10:41.567
2021-12-08 10:09:51.960
2021-12-08 10:10:54.657

我想得到那一天或今天(现在是2021年12月8日)。因此,我尝试在控制器中使用EF:

 ViewBag.CByUserToday = _db.ArrayDatas.Where(a => a.CreatedBy == user && a.CreatedDate == DateTime.Today.Date).Count();

但我还是没有弄明白。当我尝试调试DateTime时。今天日期,是指日期时间。今天={09/12/2021 00:00:00}。但当我尝试将createddate更新为“2021-12-09 00:00:00.000”时,它可以被检索。那么,如何检索我今天创建的行(忽略时间)?

共有2个答案

颜鸿云
2023-03-14
a.CreatedDate.Date == DateTime.Today.Date
郑佐
2023-03-14

检查该列是否大于或等于今天,小于明天:

DateTime today = DateTime.Today;
DateTime tomorrow = today.AddDays(1);
ViewBag.CByUserToday = _db.ArrayDatas
    .Where(a => a.CreatedBy == user 
             && a.CreatedDate >= today 
             && a.CreatedDate < tomorrow)
    .Count();

这样,您的DBMS将能够在CreatedByCreatedDate列上使用合适的索引来满足您的查询。

当您试图筛选列时,通常最好避免调用列上的函数,因为这意味着查询不可SARGable。但是,根据DBA上的此线程,将datetime/datetime2列转换为date是SARGable,至少在MicrosoftSQLServer中是这样。

 类似资料:
  • 本文向大家介绍Mysql获取当前日期的前几天日期的方法,包括了Mysql获取当前日期的前几天日期的方法的使用技巧和注意事项,需要的朋友参考一下 如:获得 2015-03-01 日的前7天的日期 : 输出: 2015-02-22

  • 问题内容: 我们希望将当前日期时间放入数据库列中。 我们有一个Web场,Web服务器上的时间可以变化,因此我们需要在数据库服务器上使用datetime。 我们有一个带有datetime列的数据库。此列的默认日期时间为当前时间。 当我们使用不包含datetime列的SQL语句插入数据时,这种方法可以很好地工作。 从实体框架: 如果我们将datetime定义为,则datetime设置为低日期,并将低日

  • 问题内容: 如何使用Java获取当前日期和时间? 我正在寻找与C#等效的东西。 问题答案: 只需构造一个没有任何参数的新对象即可;这会将当前日期和时间分配给新对象。 在的话的Javadoc的无参数的构造函数: 分配一个Date对象并对其进行 初始化,以便它表示分配它的时间( 以最近的毫秒为单位)。 确保您使用的不是-后者没有零参数构造函数,并且语义有所不同,这是完全不同的对话的主题。:)

  • 我有一个用JavaScript打印当前日期和时间的脚本,但是总是错误的。代码如下: 它应该打印并打印

  • 问题内容: 我需要最快的方式来获得一周的第一天。例如:今天是11月11日,是星期四;我想要本周的第一天(即11月8日)和一个星期一。我需要用于MongoDB地图功能的最快方法,有什么想法吗? 问题答案: 使用Date对象的方法,您可以知道星期几(0 =星期日,1 =星期一,等等)。 然后,您可以减去该天数加一,例如:

  • 问题内容: 过去几个小时以来,我一直在网上搜索以获取系统时区中的日期时间。 当我使用calendar.getTimezone.getDefaultName时,它总是返回我格林尼治标准时间。(理想情况下,它应该返回我当前的时区,即IST)。我正在尝试将此字符串(“格林尼治标准时间”)“ 2014-02-14T06:04:00:00”转换为我的时区datetime。它总是在格林尼治标准时间同时返回我。