我正在尝试将一个特定的字符串转换为DataTable中包含的DateTime,但是不知道为什么没有起作用。我已经尝试了几种组合。问题在于,该字符串实际上包含日期周围的引号。
因此,包含值(包括双引号)的DataTable单元格如下:
"2014-08-08 08:00:00"我的代码遍历所有内容,并尝试将其转换为DateTime(需要将其做为bulkCopy.WriteToServer数据写入SQL Server)。
//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());
}
}
我在循环的第一行收到了错误信息:
字符串无法被识别为有效的日期时间格式。
有什么办法可以使强制转换正常工作吗?