获取上周在数据库中按datetime添加的记录

时间:2015-04-03 21:42:34

标签: c# entity-framework

我在我的项目中使用asp.net MVC。我的数据库表包含一些记录。该表具有记录的日期时间列。我想得到上周添加的记录。所以LastlyRecords是:

DateTime.Now = 04.04.2015
LastWeekDateTime = 28.04.2015
LastWeekDateTime < LastlyRecords < DateTime.Now

3 个答案:

答案 0 :(得分:0)

有一个方法接受&#34;开始日期&#34;和&#34;结束日期&#34;作为参数。

使用开始/结束日期调用它,例如:

GetRecords(DateTime.Now.AddWeeks(-1), DateTime.Now);

在那里,您可以在该日期范围之间获取存储过程获取记录(或者为实体框架或您正在使用的任何内容执行类似操作)。

你可以通过GETDATE()和DATEADD()在T-SQL中做类似的事情,但是在调用代码中进行范围计算可能更好(因为它更像是一个业务逻辑事物而不是数据访问的事情)。

答案 1 :(得分:0)

您必须在查询中编写逻辑,或者您可以根据日期时间范围在下面进行修改。

var lastweek = DateTime.Now.AddDays(7);

var records = d in db.Persons 
              where DateTime.Compare(lastweek, d.DateRecordColumn) 
              and  DateTime.Compare(d.DateRecordColumn, DateTime.Now)
              select d;

希望这有助于解决您的疑问!!!

答案 2 :(得分:0)

string dateTime = "01 April 2015 Wednesday 16:23";
DateTime time1 = Convert.ToDateTime(dateTime);

if (DateTime.Compare(DateTime.Now, time1) == 1 &&  // DateTime.Now > time1
    DateTime.Compare(time1, DateTime.Today.AddDays((int)-7)) == 1 // time1 >= DateTime.Now-7days
    )
{
    @("True.")
}
else
{
    @("False.")
}

结果是真的,所以它是在上周。