DataTable dt = TypeConveriontHelper.ConvretExcelToDataTable(SourceAppFilePath);
string targetPath = BatchFolderPath + @"\" + "TRANSACT.INX";
StreamWriter wrtr = null;
wrtr = new StreamWriter(targetPath);
for (int x = 0; x < dt.Rows.Count; x++)
{
string rowString = "";
for (int y = 0; y < dt.Columns.Count; y++)
{
if (y == dt.Columns.Count - 1)
{
rowString += "\"" + dt.Rows[x][y].ToString() + "\"";
}
else
{
rowString += "\"" + dt.Rows[x][y].ToString() + "\"~";
}
}
rowString = rowString.Replace("\"", String.Empty).Trim();
wrtr.WriteLine(rowString);
}
wrtr.Close();
wrtr.Dispose();
数据表返回“日期”列,其中包括时间和日期。但我只需要显示日期。给我一个解决方案。谢谢。
最佳答案
rowString += "\"" + DateTime.Parse(dt.Rows[x][y]).ToString("dd/MM/yyyy") + "\"";
或完全实现如下:
DataTable dt = TypeConveriontHelper.ConvretExcelToDataTable(SourceAppFilePath);
string targetPath = BatchFolderPath + @"\" + "TRANSACT.INX";
StreamWriter wrtr = null;
wrtr = new StreamWriter(targetPath);
for (int x = 0; x < dt.Rows.Count; x++)
{
string rowString = "";
for (int y = 0; y < dt.Columns.Count; y++)
{
string dateTimeString = dt.Rows[x][y].ToString();
DateTime dateTime;
if (DateTime.TryParse(dateTimeString, out dateTime))
{
string formattedDate = dateTime.ToString("dd/MM/yyyy");
if (y == dt.Columns.Count - 1)
{
rowString += "\"" + formattedDate + "\"";
}
else
{
rowString += "\"" + formattedDate + "\"~";
}
}
}
rowString = rowString.Replace("\"", String.Empty).Trim();
wrtr.WriteLine(rowString);
}
wrtr.Close();
wrtr.Dispose();
就像米歇尔所说的那样,请参阅 http://msdn.microsoft.com/en-us/library/az4se3k1.aspx完整引用
关于c# - 想要从数据表日期列中删除时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12742184/