将天/时间转换为时间跨度

时间:2015-10-21 13:40:18

标签: asp.net

找不到我要找的东西。我有用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); 
       }

一如既往地欣赏。

1 个答案:

答案 0 :(得分:0)

假设您的viewbag中有create_dtcntDateTimeInt32变量,我会在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