以天为单位获取两个日期之间的差异

Getting difference between two dates in days

我有一个特定的问题,我的数据库 table 中有如下记录:

LastUpdated

10 January 2017

(日期以 DateTime 类型存储在数据库中。)

现在我需要获取今天日期和上一个 包括 今天日期之间的天数差异。例如,今天是 12 号,那么天数就是 2.

现在问题的第二部分是我有另一个 table 设置,如下所示:

TransactionDate

1 January 2017
2 January 2017
3 January 2017
4 January 2017
5 January 2017
6 January 2017
7 January 2017
8 January 2017
9 January 2017
10 January 2017

所以现在在我执行 LINQ 后,我的 DBTable 中的更新结果如下所示:

3 January 2017
4 January 2017
5 January 2017
6 January 2017
7 January 2017
8 January 2017
9 January 2017
10 January 2017
11 January 2017
12 January 2017

所以基本上我是在尝试获取当前日期和上次更新日期之间的差异,然后将其添加到交易详细信息中 table。添加两个日期之间的差异后,我想删除添加的差异天数,以便总日期跨度保持 10 天...

有人可以帮我解决这个问题吗?

编辑:这是目前为止的代码:

 var usr = ctx.SearchedUsers.FirstOrDefault(x => x.EbayUsername == username);
 var TotalDays = (DateTime.Now - usr.LastUpdatedAt).Value.TotalDays;

这是像我上面提到的那样获取两个日期之间的差异的正确方法吗?

现在,我执行一个 HTTP 请求,获取剩余的两个日期并将其插入:

ctx.TransactionDetails.Add(RemainingTwoDates);
ctx.SaveChanges();

现在我的日期从 1 月 1 日扩大到 1 月 12 日,但我想删除 1 月 1 日和 2 日,以便总天数保持为 10;

我该怎么做?

您可以删除早于 10 天的交易日期。

ctx.TransactionDetails.Add(RemainingTwoDays);

//Now you want to remove those older than 10 days
var today = DateTime.Today;
var tenDaysAgo = today.AddDays(-10);
var oldTrandactions = ctx.TransactionDetails.Where(t => t.TransactionDate <= tenDaysAgo).ToList();

foreach (var t in oldTrandactions) {
    ctx.TransactionDetails.Remove(t);
}

ctx.SaveChanges();