找不到我要找的东西。我有用asp编写的代码,我试图将它们转换为timepan asp.net mvc:
<%
days = DateDiff("d",year(rs("create_dt")) & "-"
& month(rs("create_dt")) & "-"
& day(rs("create_dt")),date())
if days=0 then days=1
db_totalrecords=clng(rs("cnt"))
periodcount=periodcount+db_totalrecords
response.write db_totalrecords
%>
行动方法:
public ActionResult ForcesDBValuesStat()
{
List<StatDBValues> myData;
using (GenesEntities context = new GenesEntities())
{
myData = m_statsWallRepository.GetDBValues(context);
}
ViewBag["myBag"] = DateTime.Now.ToString();
return View(myData);
}
一如既往地欣赏。
答案 0 :(得分:0)
假设您的viewbag中有create_dt
和cnt
为DateTime
和Int32
变量,我会在c#/ Razor语法中说出以下内容。
<强>更新强>
ViewBag
在mvc中是动态的。这意味着您可以将任何想要与视图通信的内容放入其中。这里我只以它为例。关于原始问题,您应该关注的是,如果您在c#中减去任意两个DateTime
变量,则会得到TimeSpan
作为结果。在那里,您可以拨打TotalDays
来获取以天为单位表示的时间跨度。
public ActionResult ForcesDBValuesStat()
{
List<StatDBValues> myData;
using (GenesEntities context = new GenesEntities())
{
myData = m_statsWallRepository.GetDBValues(context);
}
// set a "count" to be
// a random integer.
// should be comming from someware
// for example the database
ViewBag.cnt = 123;
// set the created date to a past date
ViewBag.create_dt = new DateTime(2015, 9, 13);
return View(myData);
}
@{
var date = (DateTime)ViewBag.create_dt;
var today = DateTime.Today;
var days = (today - date).TotalDays;
var db_totalrecords = (int)ViewBag.cnt;
if (days == 0)
{
days = 1;
}
}
<h2>Test</h2>
@days