2012-10-19 72 views
-2

我正在尋找這個約2小時,我沒有任何想法了。 問題是我有一個DateTime對象,我只需要它的日期部分。從DateTime獲取日期而沒有ToShortDateString

我試圖

  1. data.Date
  2. 創建一個新的DateTime對象,這樣

    var x = new DateTime(data.Year,data.Months,data.Day)

  3. 我試過這樣

    DateTime.Parse(data.ToString("yyyy-MM-dd"))

注意:只有獲得的日期部分後,數據需要保持日期時間(不是字符串),所以我不能使用ToShortDateString()

+9

'.Date'有什麼問題? – SLaks

+0

.net中沒有Date類,只有DateTime。如果您沒有時間設置DateTime(如第二個示例中所示),則時間將默認爲0:00:00。爲什麼你有一段時間在你身邊的問題DateTime?如果你真的只需要一個日期,創建你自己的日期結構。 –

+1

即使沒有時間關聯,DateTime對象也總是有時間分量。沒有Date類/結構,並且沒有Time類/結構。這是沒有必要的。如果只想顯示日期時間的日期部分,則使用格式字符串。 .ToString(「d」)或.ToString(「D」)應該有效。 – Brendan

回答

2

如果你想要一些對象,女巫總是2012-10-10格式從.ToString()返回日期,你可以使用這個結構

struct Date 
{ 
    private DateTime dateTime; 
    public Date(DateTime dateTime) 
    { 
     this.dateTime = dateTime.Date; 
    } 

    public override string ToString() 
    { 
     return dateTime.ToString("yyyy-MM-dd"); 
    } 
} 
相關問題