是否可以格式化数据表的日期列?
考虑我有一个数据表dt
,它有一个DateofOrder
列,
DateofOrder 07/01/2010 07/05/2010 07/06/2010
我想在DateOfOrder
列DateOfOrder
这些日期格式化为此
DateofOrder 01/Jul/2010 05/Jul/2010 06/Jul/2010
任何建议..
最明智的做法是确保输入DataTable,此列的类型为DateTime。 然后,当您实际将值打印到屏幕时,您可以在该点设置格式,而不会破坏底层数据。
如果这不可行,这是我经常使用的扩展方法 :
public static void Convert(this DataColumn column, Func
你可以在你的情况下使用:
myTable.Columns["DateOfOrder"].Convert( val => DateTime.Parse(val.ToString()).ToString("dd/MMM/yyyy"));
它仅适用于无类型的DataTables(例如,列类型需要是对象,或者可能是字符串)。
.ToString(“dd / MMM / yyyy”)(假设您的数据是DateTime类型)
在这里只是阐述saille的答案:
对于DateTime,格式不是问题。 DateTime实际上是从公元1月1日午夜起计数的滴答数。所以,实际上,它只是一个长的。 格式化只有在将其转换为字符串时才会成为问题。 因此,当你将数据表拉出数据表并准备输出格式时,你必须去处理格式化,或者将它作为字符串放入数据表中(我不建议这样做,以获得灵活性)目的)。 可以使用saille建议的DateTime上的.ToString调用来完成格式化.ToString("dd/MMM/yyyy")