如何仅从DateTime数据类型获取时间

时间:2015-05-19 06:19:36

标签: c# asp.net-mvc datetime

我有一张名为TimeSpan的表格。它包含一列StartTimeStartTime的类型为DateTime。在我看来,我度过了一段时间。因此,我需要将StartTime转换为time("HH:mm")。我怎么能做到这一点?

public ActionResult planview(Double budget, DateTime startTime, DateTime endTime)
{
    var model = from Ts in db.TimeSpans 
                where Ts.StartTime < startTime 
                select Ts;
    return View(model);
}

以上查询需要更改为Ts.StartTime(convert to time) < startTime

2 个答案:

答案 0 :(得分:4)

TimeOfDay属性将DateTime对象的时间部分作为TimeSpan返回。

如果你想要的只是格式化显示值,你不必提取时间部分。您可以在渲染视图时指定适当的格式字符串。

DateTime对象的时间部分由TimeOfDay属性作为TimeSpan返回。

如果你想要的只是格式化显示值,你不必提取时间部分。您可以在渲染视图时指定适当的格式字符串,例如:

@Model.StartTime.ToString("hh:mm")

答案 1 :(得分:1)

您可以使用DateTime.TimeOfDay

var model =来自db.TimeSpans中的Ts  其中Ts.StartTime.TimeOfDay&lt; startTime  选择Ts;

根据评论

修改,您可以使用EntityFunctions.CreateTime

var model = from Ts in db.TimeSpans 
            let time = EntityFunctions.CreateTime(Ts.StartTime.Hours,
                                                  Ts.StartTime.Minutes,
                                                  Ts.StartTime.Seconds)
            where time < startTime 
            select Ts;