2015-08-13 72 views
-2

我想傳遞一個日期在viewbag這樣僅獲得從日期時間日期在C#

DateTime? DueDate = this.dbContext.OBProcessMonitors.Where(o => o.EmployeeID 
== GlobalVariables.EmployeeID).First().DueDate; 
     ViewBag.DueDate = DueDate; 

當我打電話在剃刀@viewbag.duedate的viewbag我得到的日期和時間。我怎樣才能得到它的日期?

+4

'如果(DueDate.HasValue)ViewBag.DueDate = DueDate.Value.Date;' –

+0

錯誤「系統。可空'不包含'Date'的定義,並且沒有可接受類型爲'System.Nullable '的第一個參數的擴展方法'Date' – TheDizzle

+0

我錯過了它是空。請參閱更新。 –

回答

0

使用'DueDate.Value.Date'來獲取日期時間的日期。

+0

如果我在控制器或剃鬚刀這樣做,它仍然顯示日期和時間。 – TheDizzle

+0

DueDate.Value.ToShortDateString() –

0

我假設你需要一個日期字符串,而不是日期對象。所以千萬以下

要獲得短日期字符串:像 「2009/6/15」 中的en-US

Value.ToShortDateString() 

或獲得長日期字符串:像 「星期一,2009年6月15日」

Value.ToLongDateString() 

或者使用這裏的自定義格式

Value.ToString("d") 

檢查等格式:https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

0

您可以轉換DateTime串並格式化,但是你想:

ViewBag.TheDate = yourobject.DueDate.ToString("dd/MM/yyyy") //or, 
ViewBag.TheDate = yourobject.DueDate.ToString("MM/dd/yyyy") //or, 
ViewBag.TheDate = yourobject.DueDate.ToString("yyyy/MM/dd") //etc...