我有一个通过读取excel文件填充的数据集。数据集存储来自excel的数据。在DataSet中格式化datetime列
在数据集中的日期在格式2 \ 2 \ 2009 12:00:00 AM但我需要转换为2 \ 2 \ 2009的数据格式。 我想更改该特定列中所有数据的格式。
我有一个通过读取excel文件填充的数据集。数据集存储来自excel的数据。在DataSet中格式化datetime列
在数据集中的日期在格式2 \ 2 \ 2009 12:00:00 AM但我需要转换为2 \ 2 \ 2009的数据格式。 我想更改该特定列中所有数据的格式。
这里有一种方法:
foreach (DataRow row in yourDataTable)
{
DateTime dt = DateTime.Parse(row["Date"].ToString());
row["Date"] = dt.ToShortDateString();
}
这是假设的“日期”一栏只是一个文本字段,而不是已经是DateTime字段。
你打我提交按钮...我有相同的答案 – 2009-07-25 16:03:40
我有一个数据集中的日期时间列,我想改变该列的数据格式单独 – Jebli 2009-07-25 16:04:54
唧唧!不妨碍我的代码编译的美丽。 =) – MusiGenesis 2009-07-25 16:04:57
如果它是一个DateTime对象到您想要的格式“2 \ 2 \ 2009”,您可以使用pattern自定义输出。
string output1 = dt.ToString(@"mm\\dd\\yyyy");
string output2 = dt.ToString("mm/dd/yyyy"); //did you mean this?
A DateTime
值或列没有格式。这只是二进制数据。
你想要格式化输出出现在哪里?这就是你应该使用格式字符串的地方。例如,如果您希望它出现在ASP.NET DataGrid
的列中,则可以将BoundColumn
的DataFormatString
属性设置为“mm/dd/yyyy”。
试试这个。它会工作
var result = from a in ds.Tables [0] .AsEnumerable() select new [] {Convert.ToDateTime(a [0])。ToString(“dd/MM/yyyy”)} ;
该列是文本列还是日期时间列? – Keltex 2009-07-25 15:59:59
DateTime专栏 – Jebli 2009-07-26 08:58:47