2012-05-21 34 views
0

DataTable中我有這個格式mm/dd/YYYY HH:MM:SS AM 我想改變格式爲 「DD.MM.YYYY」如何更改格式的DateTime列的DataTable中從C#

foreach (DataRow dr in dt.Rows) 
     { 
      dr["birth_day"]= String.Format("{0:dd.MM.yyyy}",dr["birth_day"]); 
     } 

它給了我這個錯誤:

字符串未被識別爲有效DateTime.Couldn't店< 1988年4月25日>在birth_day列。預期的類型是DateTime。

+1

對不起,這看起來很明顯。你沒有給'String.Format'格式化任何文本。 – DCoder

+0

您不能更改類型爲DateTime的數據的格式。它假設是在哪裏得到你想要的東西。而錯誤是因爲@DCoder說的。 –

回答

2

字符串格式需要多個參數,一個用於字符串,1-n用於字符串中的每個變量。

例如

dr["birth_day"]= DateTime.Parse(String.Format("{0}:dd.MM.yyyy",dr["birth_day"])); 

雖然我現在還不能確定這會給你想要的東西

+0

您已編輯該問題 - 還有一個問題尚未解決? dr [「birth_day」]是一個日期時間字段,因此當您想要顯示它時,它將如何存儲在內部並不重要。 –

2

它說你沒有提供和論證的佔位符{0}比如

dr["birth_day"]= DateTime.Parse(String.Format("{0}:dd.MM.yyyy",SomeValuethatgoesbeforethe colon)); 

但是你的代碼根本就沒有意義,那麼意味着什麼時候解析?