asp.net日期时间不一样

时间:2016-11-09 04:49:08

标签: asp.net asp.net-mvc-5

这是我拥有的财产:

    [DataType(DataType.Time)]
    public TimeSpan StartingTime { get; set; }

现在在控制器中我会检查开始时间是否少于现在

var now = DateTime.Now.TimeOfDay;
   return View(db.SchoolTime.ToList().Where(a => a.StartingTime < now );

这里甚至开始时间比数据库中的现在少,但没有返回列表到vew

我认为这是因为开始时间喜欢(09:00:00),但现在就像09:10:00:12312312 < / p>

请提前帮助谢谢

2 个答案:

答案 0 :(得分:0)

这不是因为&#39;&lt;&#;条件。 尝试将代码更改为:

return View(db.SchoolTime.Where(a => a.StartingTime < now).ToList());

除非您对集合进行枚举,否则不会应用条件。 ToList()将帮助您做到这一点 否则,它将在视图中枚举集合后执行。

答案 1 :(得分:0)

使用以下代码

DateTime parsedDate;
string pattern = ;
DateTime.TryParseExact(StartingTime, "MM-dd-yy", null, DateTimeStyles.None, out parsedDate);
parsedDate.TimeOfDay;// out put in your format MM:HH:SS

为了使上述代码正常工作,您需要使用System.Globalization;命名空间添加。

更新1: 根据您的代码

var now = DateTime.Now.TimeOfDay;

每次都返回 00:00:00 ,因为在创建DateTime对象时应该分配它。

所以使用这个

var now = DateTime.Now.ToString("hh:mm:ss")
return View(db.SchoolTime.ToList().Where(a => a.StartingTime < now );