我正在使用Visual Studio 2013.I有一个数据表“dt”,其中包含许多具有日期时间格式的列。我想将所有列中的值更改为“yyyy / mm / dd”格式。记住所有datetime列也可以包含null值。 我使用过此代码,但没有在“dt”中进行任何更改。
StringBuilder sb = new StringBuilder();
IEnumerable<string> columnNames = table.Columns.Cast<DataColumn>().
Select(column => column.ColumnName);
sb.AppendLine(string.Join(",", columnNames));
var inv = CultureInfo.InvariantCulture;
foreach (DataRow row in table.Rows)
{
IEnumerable<string> fields = table.Columns.Cast<DataColumn>()
.Select(col => col.DataType == typeof(DateTime)
? row.IsNull(col) ? " " : row.Field<DateTime>(col).ToString("yyyy/MM/dd", inv)
: row.IsNull(col) ? "" : row[col].ToString());
sb.AppendLine(string.Join(",", fields));
}