DataSet DateTime 列を US/UK 形式から US 形式に変換する以下の方法を最適化するにはどうすればよいですか。最初の日付形式は、米国/英国またはその他の国にすることができます。出力DataSetでそれをUS Date Formatに変換する必要があります
private DataSet ModifyDateToUSFormat(DataSet ds)
{
DataSet dsRes = new DataSet();
DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;
//Convert from DateTime to String Type
DataTable dtCloned = ds.Tables[0].Clone();
foreach (DataColumn dc in ds.Tables[0].Columns)
{
if (dc.DataType == typeof(DateTime))
dtCloned.Columns[dc.ColumnName].DataType = typeof(string);
}
foreach (DataRow row in ds.Tables[0].Rows)
dtCloned.ImportRow(row);
//Change the String format to US format. Since Database expects US Format Only.
foreach (DataRow row in dtCloned.Rows)
{
foreach (DataColumn dc in ds.Tables[0].Columns)
{
if (dc.DataType == typeof(DateTime))
row[dc.ColumnName] = DateTime.Parse(row[dc.ColumnName].ToString(), CultureInfo.CurrentCulture, DateTimeStyles.NoCurrentDateDefault).ToString(usDtfi.ShortDatePattern);
}
}
dsRes.Tables.Add(dtCloned);
return dsRes;
}