【问题标题】:How can I subtract two dates and get a new date converted in minutes?如何减去两个日期并以分钟为单位转换新日期?
【发布时间】:2020-02-03 00:46:25
【问题描述】:

我需要使用 Linq 表达式减去两个日期,date1 和 date2(当前日期)。我需要验证这两个日期之间的减法是否不超过 12 小时。我只想获取少于 12 小时的数据。下面的代码是我的控制器(GET)的代码,现在我减去两个日期并在几分钟内转换结果。我不确定这是否是正确的方法。

var date2 = DateTime.Now;
var model= _context.Model.Where(e => (e.Prop1== "hello world"  && (e.date1 - date2).Minutes <= 12 * 60));

知道它显示了我数据库中的所有数据。

【问题讨论】:

  • 使用TimeSpan.TotalHours属性

标签: asp.net-mvc linq asp.net-core


【解决方案1】:

当您减去两个DateTime 时,结果是TimeSpan

使用TimeSpan.TotalHours 属性,简化为

... (e.date1 - date2).TotalHours <= 12) ...

基于期望的行为

【讨论】:

  • 如果我想精确到分钟,这是否也有效?例如,如果数据在数据库中存在 11 小时 59 秒,数据仍然会出现吗?
  • @TeresaAlves 是的。 TotalHours 将包括持续时间的一小部分。如果你想要分钟,你可以使用TotalMinutes 然后
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-04
  • 1970-01-01
  • 2012-06-07
  • 1970-01-01
  • 2016-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多