2009-07-25 51 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」)} ;