这是我拥有的财产:
[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>
请提前帮助谢谢
答案 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 );