我想遍历一个数据集并将SQL Server mm/dd/yyyy hh:mm:ss tt
(例如2011/1/1 3:56:50 PM)返回的默认格式的所有DateTime列的格式更改为dd-Mon-yyyy
(例如01-Jan -2011)。这可能吗?更改数据列日期时间格式?
我可以通过下面的代码块访问的数据表中的每个表中的数据集:
Using ds As DataSet = _bo.getHistoryDataSet(projectId)
For Each dt As DataTable In ds.Tables
For Each col As DataColumn In dt.Columns
If col.DataType Is GetType(DateTime) Then
//Format column here?
End If
Next
Next
End Using
但我不能似乎能够格式分配给列。有没有办法给列分配一个通用格式,还是必须循环遍历这个循环中的每一行,然后分配row(column) = row(column).ToString("Format Here")
?
谢谢!
'DateTime' ***不具有格式***;一个'DateTime' *只是一个数字* - 在它周围有一些语义。当显示* DateTime时,像“格式”这样的概念适用于用户界面,但不适用于'DateTime'本身。这有点像说“我有一个布尔属性;我怎样才能使用斜体?” –
'ToString()'格式可以简单地为'“dd-MMM-yyyy”'。但是,正如其他人所说,格式用于显示日期。您无法设置DataTable中列的格式。 – JDB
我使用DataTable使用EPPlus打印出Excel工作簿。我想要做的就是在写出工作簿之前更改DateTime列中单元格的格式。到目前为止,我只是做了一些错误检查,然后使用EPPlus的LoadFromDataTable方法将表写入工作簿。我不能循环遍历表格并更改每个DateTime列中单元格的字符串格式? – TimeBomb006