2012-05-21 36 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)); 

但是你的代码根本就没有意义,那么意味着什么时候解析?