【问题标题】:Getting difference between two dates in days在几天内获得两个日期之间的差异
【发布时间】:2017-01-12 20:21:21
【问题描述】:

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

LastUpdated

10 January 2017

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

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

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

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

所以基本上我试图获取当前日期和上次更新日期之间的差异,然后将其添加到交易详细信息表中。添加两个日期之间的差异后,我想删除与添加的天数一样多的差异,以便总日期跨度保持 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 天;

我该怎么做?

【问题讨论】:

  • @AndrewMorton 是的,它是日期时间格式 :) 我刚刚在这里以这种格式显示了日期,以便人们更容易阅读
  • 当您说 LINQ 时,您想到的是什么方言 (ORM)?
  • @AndrewMorton 是的,一会儿我会展示它
  • @IvanStoev LINQ 喜欢使用 lambda 表达式 ...
  • 我的意思是 LINQ to Objects、LINQ to SQL、LINQ to Entities(EF 或 EF Core)等。

标签: asp.net asp.net-mvc linq date difference


【解决方案1】:

您可以删除早于 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();

【讨论】:

  • 嘿@Nkosi 这很好用,谢谢!但是我怎样才能将今天的日期包含在柜台号码中?例如,如果我的交易日期为:1 月 12/11/10/9/8/7/6/5/4/3/2/1th of 1 并且我想删除所有超过 2 天的交易,您可以使用这种当前方法发布日期如下:2010 年 12 月 11 日
  • 请注意我在&lt;= 小于或等于时所做的轻微更新。
猜你喜欢
  • 2016-02-11
  • 2018-11-08
  • 2014-10-07
  • 2022-12-01
  • 1970-01-01
  • 2013-07-23
  • 1970-01-01
  • 2018-02-06
相关资源
最近更新 更多