有一个dataTable A,其中包含一些包含DateTime值的cloum,如何将A克隆到另一个dataTable B,只保留A的DateTime列的日期?以下代码将保留所有尾随的零,如 20/05/2015 00:00:00 ,有没有办法截断它们?谢谢。
foreach (DataColumn col in A.Columns)
{
if (col.DataType == typeof(DateTime))
{
B.Columns[col.ColumnName].DataType = typeof(string);
}
}
foreach (DataRow row in A.Rows)
{
B.ImportRow(row);
}
答案 0 :(得分:0)
遍历B数据表行&列和格式化日期
DataTable B = new DataTable();
foreach (DataRow row in A.Rows)
{
foreach (DataColumn col in A.Columns)
{
if (col.DataType == typeof(DateTime))
B.Columns.Add(col.ColumnName);
}
B.ImportRow(row);
}
foreach (DataRow row in B.Rows)
{
foreach (DataColumn col in B.Columns)
{
//Console.WriteLine("Before {0}:",row[col.ColumnName]);
row[col.ColumnName] = DateTime.Parse(row[col.ColumnName].ToString()).ToString("dd/MM/yyyy");
//Console.WriteLine("After {0}:", row[col.ColumnName]);
}
}
答案 1 :(得分:0)
假设数字的格式没有改变或者是特殊字符。您可以创建一个正则表达式并将其分配给变量,如下所示:
// Regex match
var regexExp = /(^\d{2})\/(\d{2})\/(\d{4})/;