根据你的例子,你需要在传递给函数之前强制转换为string
DateTime转换和解析DateTime. nowToString("MM/dd/yyyy hh: MM: ss.fff")
请,我如何能转换日期字符串从我的csv导入网格和mysql数据库?
我以dd.MM.yyyy格式导入日期,mysql数据库必须以yyyy-MM-dd格式导入。
我的数据网格行代码是
dataGridView1.Rows.Add(counter, "1", lineIn[0], ControlPrice, lineIn[3]);
lineIn[0]是日期字符串…谢谢你
最好使用DateTime。ParseExact
根据你的例子,你需要在传递给函数之前强制转换为string
您还应该考虑如果CSV中存在无效日期会发生什么,您希望如何处理它?或者你总是期待一个约会,想要停止处理?
下面是我用来测试的一个LinqPad示例:
object date = "12.2.2014";
var result = DateTime.ParseExact(date.ToString(), "d.M.yyyy", null).ToString("yyyy-MM-dd");
Console.WriteLine(result);
DateTime转换和解析DateTime. nowToString("MM/dd/yyyy hh: MM: ss.fff")
以防您的记录可能为空白,它将在解析到datetime时给出错误,因此我添加了一个条件来检查空白,然后将其转换为所需的格式。
If(lineIn[0].ToString() != "")
{
dataGridView1.Rows.Add(counter, "1", DateTime.ParseExact(lineIn[0].ToString(), "dd.MM.yyyy", null).ToString("yyyy-MM-dd"), ControlPrice, lineIn[3]);
}
else
{
dataGridView1.Rows.Add(counter, "1", "", ControlPrice, lineIn[3]);
}
这应该可以为您工作:
var parsedDate = DateTime.ParseExact(lineIn[0], "dd.MM.yyyy", null);
string dateStringInAnotherFormat = parsedDate.ToString("yyyy-MM-dd");