2013-10-15 26 views
0

我正在改變日期時間格式的搜索從ddd MMM dd HH:mm:ss zzz yyyy只是簡單地yyyy-MM-dd我無法獲得正確的語法在我的轉換中,任何幫助都會很棒。在C#中的日期時間格式問題

public DateTime CreatedAt 
{ 
    get 
    { 
     return DateTime.ParseExact(this.created_at, "ddd MMM dd HH:mm:ss zzz yyyy", CultureInfo.InvariantCulture); 
    } 
} 

public DateTime SearchDate 
{ 
    get 
    { 
     return DateTime.ParseExact(CreatedAt.ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture); 
    } 
} 

searchDate是我的問題。

+1

您是否收到錯誤消息,或獲取的DateTime對象的值錯誤? – Renan

回答

2

這是行不通的:

return DateTime.ParseExact(CreatedAt.ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture); 

因爲CreatedAt.ToString()將創建默認格式(不yyyy-MM-dd,這是你怎麼想讀的話)的日期時間字符串。

但更重要的是,爲什麼你想從一個字符串格式的時間轉換爲另一個日期?如果您有DateTime值(在這種情況下爲CreatedAt),則可以根據需要渲染它(例如CreatedAt.ToString("yyyy-MM-dd"))。將它轉換爲字符串並解析其中的部分內容似乎沒有任何意義。

而且正如Bob所指出的那樣,如果你想要的只是日期部分,可以採取CreatedAt.Date。試着去思考你真正的目標是什麼,儘可能地嘗試以最少的轉換(因此轉換問題)最短路線。

+0

沒有想到,謝謝! –

+0

大聲笑是啊不幸的是一些nitpicker downvoted它,即使它是最有幫助的答案。 –