该字符串未被识别为有效的DateTime。日期格式为文本

时间:2017-06-22 09:02:59

标签: c# date datetime

我遇到文件导入问题。我正在尝试将.xls文件导入SQL Server。但问题是日期格式。 经过一些调试,我发现我正在以文本格式阅读日期。 我的日期是f.eg。:' 01-01-2017',但是当我调试时我看不到日期,我可以看到' 42736'相反,这是日期的文本格式。 任何人都可以帮忙解决一些如何解决这个问题的想法吗?

enter image description here

string strDate = table.Rows[i][2].ToString();
  DateTime date = Convert.ToDateTime(strDate.Replace(".", "-"));


ImportToAP(Int32.Parse((table.Rows[i][26]).ToString()), date, Double.Parse((table.Rows[i][38]).ToString()), (table.Rows[i][33]).ToString(), Int32.Parse((table.Rows[1][4]).ToString()));

2 个答案:

答案 0 :(得分:3)

使用DateTime.FromOADate

DateTime date = DateTime.FromOADate(table.Rows[i].Field<double>(2));

如果那真的是一个字符串列(我怀疑):

DateTime date = DateTime.FromOADate(double.Parse(table.Rows[i].Field<string>(2)));

答案 1 :(得分:0)

您可以使用DateTime.FromOADate()方法。

只需使用strDate方法检查是否可以解析Double.TryParse()加倍。如果是这样,请使用DateTime.FromOADate((double)strdate)否则使用默认方法。

参考: