2009-07-25 77 views
2

我有一个通过读取excel文件填充的数据集。数据集存储来自excel的数据。在DataSet中格式化datetime列

在数据集中的日期在格式2 \ 2 \ 2009 12:00:00 AM但我需要转换为2 \ 2 \ 2009的数据格式。 我想更改该特定列中所有数据的格式。

+0

该列是文本列还是日期时间列? – Keltex 2009-07-25 15:59:59

+0

DateTime专栏 – Jebli 2009-07-26 08:58:47

回答

7

这里有一种方法:

foreach (DataRow row in yourDataTable) 
{ 
    DateTime dt = DateTime.Parse(row["Date"].ToString()); 
    row["Date"] = dt.ToShortDateString(); 
} 

这是假设的“日期”一栏只是一个文本字段,而不是已经是DateTime字段。

+0

你打我提交按钮...我有相同的答案 – 2009-07-25 16:03:40

+0

我有一个数据集中的日期时间列,我想改变该列的数据格式单独 – Jebli 2009-07-25 16:04:54

+0

唧唧!不妨碍我的代码编译的美丽。 =) – MusiGenesis 2009-07-25 16:04:57

1

如果它是一个DateTime对象到您想要的格式“2 \ 2 \ 2009”,您可以使用pattern自定义输出。

string output1 = dt.ToString(@"mm\\dd\\yyyy"); 
string output2 = dt.ToString("mm/dd/yyyy"); //did you mean this? 
0

A DateTime值或列没有格式。这只是二进制数据。

你想要格式化输出出现在哪里?这就是你应该使用格式字符串的地方。例如,如果您希望它出现在ASP.NET DataGrid的列中,则可以将BoundColumnDataFormatString属性设置为“mm/dd/yyyy”。

0

试试这个。它会工作

var result = from a in ds.Tables [0] .AsEnumerable() select new [] {Convert.ToDateTime(a [0])。ToString(“dd/MM/yyyy”)} ;