【发布时间】:2019-01-10 04:24:09
【问题描述】:
我的数据库中有 DateTime 列,例如 2018-08-02 14:00:00。我想比较日期和时间(仅限小时和分钟)。到目前为止,我已经使用了
DbFunctions.CreateTime(x.BroadCastOn.Hour, x.BroadCastOn.Minute,0.00)
但它没有给我所需的结果
var todaysDate= DateTime.Now;
context.deliverys
.Where(x => DbFunctions.TruncateTime(x.DeliveredOn) == todaysDate.Date && todaysDate.TimeOfDay == DbFunctions.CreateTime(x.DeliveredOn.Hour, x.DeliveredOn.Minute,0.00).ToList()
【问题讨论】:
-
您可能需要
dt.ToString("HH:mm")或ToShortTimeString。 -
每天只有一秒钟的时间相等...你想忽略秒数 - 所以使用
todaysDate.Hour和todaysDate.Minute -
或类似
SqlFunctions.DateName("hh", foo)的东西?并比较 hh 然后 mm -
只需 todaysDate.TimeOfDay.Hours == x.DeliveredOn.Hour && todaysDate.TimeOfDay.Minutes== x.DeliveredOn.Minute 这行得通
-
您可以直接将数据转换为仅考虑小时和分钟 DateTime.Now.ToString("MM/dd/yyyy H:mm") 并进行比较。
标签: c# entity-framework linq model-view-controller