我有两个日期,我从数据库中提取。一个是开始时间,一个是结束时间。我想找到两个日期之间的差异,然后在同一页面上显示2之间的时间。
我在其他答案上看过这段代码,但我是新手,所以不知道放在哪里,然后在页面上显示。
var ExecutionSeconds = execution.End.Subtract(execution.Start).TotalSeconds;
非常感谢任何帮助。 谢谢
答案 0 :(得分:1)
第一件事是你需要在你的控制器中DbContext
从你的数据库中获取execution
。然后,您可以执行代码行来确定以秒为单位的时间跨度。
第二部分是将此值赋予您的视图。例如,将其作为模型传递给View-method:
//fetch your data and calculate ExecutionSeconds...
return View(ExecutionSeconds);
}
在视图中,您可以通过声明@model
元素并访问Model属性来访问模型:
@model Int32
@* other HTML code you need *@
<span>The timespan is @Model seconds long</span>
答案 1 :(得分:1)
一种方法是在模型上具有只读属性
.d_un.d_val & DF_1_NODELETE
或者将计算值放到ViewData或ViewBag中并从那里取值
答案 2 :(得分:1)
具有以下功能的一种方法,它可以提供天数的差异。如果你想检查js的差异,可以适当地改变功能。
public int DayDiffrenceInt(DateTime date1, DateTime date2)
{
var a = (date2.Date - date1.Date).Days;
return a;
}
答案 3 :(得分:1)
如果您的查询包含StartDate
和EndDate
,那么您可以这样减去每一行:
var dateQuery = dateTimeQuery.Select(p => p.StartDateTime - p.EndDateTime).ToList();
然后您可以在ViewBag中分配该查询:
ViewBag.DateTimes = dateQuery;
因此,在您的视图中,您可以轻松地显示它:
foreach (var dateTime in ViewBag.DateTimes)
{
<li>@dateTime.TotalSeconds</li>
}
答案 4 :(得分:0)
我设法使用ViewBag解决了这个问题。
ViewBag.ExecutionSeconds = (execution.End - execution.Start).TotalSeconds;
@ViewBag.ExecutionSeconds