我有一个通过读取excel文件填充的数据集。数据集存储来自excel的数据。
数据集中的日期格式为 2 \ 2 \ 2009 12:00:00 AM ,但我需要将数据格式转换为 2 \ 2 \ 2009 。 我想更改该特定列中所有数据的格式。
答案 0 :(得分:7)
这是一种方式:
foreach (DataRow row in yourDataTable)
{
DateTime dt = DateTime.Parse(row["Date"].ToString());
row["Date"] = dt.ToShortDateString();
}
这假设“Date”列只是一个文本字段而不是DateTime字段。
答案 1 :(得分:1)
如果输出是您想要的格式的DateTime对象,则可以使用pattern自定义输出,“2 \ 2 \ 2009”。
string output1 = dt.ToString(@"mm\\dd\\yyyy");
string output2 = dt.ToString("mm/dd/yyyy"); //did you mean this?
答案 2 :(得分:0)
DateTime
值或列没有格式。这只是二进制数据。
您希望格式化输出出现在哪里?那是你应该应用格式字符串的地方。例如,如果您希望它出现在ASP.NET DataGrid
的列中,那么您可以将DataFormatString
的{{1}}属性设置为“mm / dd / yyyy”。
答案 3 :(得分:0)
试试这个。它会起作用
var result = from a ds.Tables [0] .AsEnumerable() 选择new [] {Convert.ToDateTime(a [0])。ToString(“dd / MM / yyyy”)};