2015-05-19 19 views
1

我有一個名爲TimeSpan的表。它包含一列StartTimeStartTimeDateTime的類型。在我看來,我打發時間。因此,我需要將StartTime轉換爲time("HH:mm")。我怎麼能做到這一點?如何僅從DateTime數據類型獲取時間

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

+0

所以你需要返回它包含了所有的時間一個IEnumerable? –

+0

是的...我想顯示它們全部... –

回答

1

可以在db.TimeSpans 其中Ts.StartTime使用DateTime.TimeOfDay

VAR模型=從TS。 TimeOfDay < startTime select 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; 
+0

這給出了一個例外!!!!! LINQ to Entities不支持指定的類型成員'TimeOfDay'。僅支持初始化程序,實體成員和實體導航屬性。 –

+0

檢查我更新的答案。 @ThilinaDeSilva – Adil

+1

現在它運作正常..謝謝! –

4

DateTime對象的時間部分作爲TimeSpanTimeOfDay屬性返回。

儘管您不需要提取時間部分,但如果只需要格式化顯示的值。渲染視圖時,您可以簡單地指定適當的格式字符串。

DateTime對象的時間部分作爲TimeSpan被TimeOfDay屬性返回。

儘管您不需要提取時間部分,但如果只需要格式化顯示的值。渲染你的看法,例如,當你可以簡單地指定適當的格式字符串:

@Model.StartTime.ToString("hh:mm") 
相關問題