我正在尝试将特定字符串转换为包含在 DataTable 中的 DateTime。但由于某种原因不太有效。我尝试了几种组合。问题是字符串实际上包含日期周围的“”。
因此 DataTable 中的单元格包含值(包括双引号) “2014-08-08 08:00:00”
我的代码遍历所有这些并尝试将其转换为 DateTime(需要它作为对 SQL Server 执行 bulkCopy.WriteToServer(datatable) 的操作。
//Fix up default values and remove double quotes from field in order to convert to date
if(dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["usagestartdate"] =
dt.Rows[i]["usagestartdate"].ToString() == "" ?
DateTime.Now.AddYears(-2014) :
Convert.ToDateTime((dt.Rows[i]["invoiceid"].ToString().Replace("'", "")));
dt.Rows[i]["usagestartdate"] =
dt.Rows[i]["usageend"].ToString() == "" ?
DateTime.Now.AddYears(-2014) :
Convert.ToDateTime(dt.Rows[i]["usageend"].ToString());
}
}
我在循环内的第一行得到错误。
字符串未被识别为有效的日期时间。
任何想法如何使演员正常工作?