c#字符串日期格式,从d.M.yyyy到yyyy-MM-dd
请问,如何将csv导入的日期字符串转换为网格和mysql数据库 我以dd.MM.yyyy格式导入日期,我必须为mysql数据库设置yyyy-MM-dd格式 我的datagrid行代码是c#字符串日期格式,从d.M.yyyy到yyyy-MM-dd,c#,mysql,date,datetime,date-format,C#,Mysql,Date,Datetime,Date Format,请问,如何将csv导入的日期字符串转换为网格和mysql数据库 我以dd.MM.yyyy格式导入日期,我必须为mysql数据库设置yyyy-MM-dd格式 我的datagrid行代码是 dataGridView1.Rows.Add(counter, "1", lineIn[0], ControlPrice, lineIn[3]); lineIn[0]是日期字符串。。。 谢谢如果您的记录可能是空白的,那么在解析为datetime时会出现错误,因此我添加了一个检查空白的条件,然后将其转换为所需的格
dataGridView1.Rows.Add(counter, "1", lineIn[0], ControlPrice, lineIn[3]);
lineIn[0]是日期字符串。。。
谢谢如果您的记录可能是空白的,那么在解析为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]);
}
最好使用它
根据您的示例,在传递到函数之前,您需要强制转换为字符串。你也应该考虑如果CSV中有一个无效的日期会发生什么,你想怎么处理?或者您总是希望有一个日期并希望停止处理吗?
object date = "12.2.2014";
var result = DateTime.ParseExact(date.ToString(), "d.M.yyyy", null).ToString("yyyy-MM-dd");
Console.WriteLine(result);
有关更多信息,请参阅此SO帖子:
这应该适合您:
var parsedDate = DateTime.ParseExact(lineIn[0], "dd.MM.yyyy", null);
string dateStringInAnotherFormat = parsedDate.ToString("yyyy-MM-dd");
谢谢,但system say=“字符串未被识别为有效的日期时间。”@kubis,您能在[0]中显示一些在第行中返回的测试数据吗?这里是从csv导入数据。。。1.2.2014334.00 Kč,Jana vyplataI也认为某些日期一定是空白的,我已经修改了我的答案以检查空白,请查看是否是空白works@rene,我在上面的评论中提到,由于某些输出中的空格,可能会出现错误,因此我已修改了答案您确定[0]中的行具有有效日期并且不是空的吗?如果要将lineInl[0]传递给任何函数,我假定它是一个对象,因此如果要使用DateTime.ParseExact,则需要首先转换为字符串。请参见下面的示例。您是否可以在上面的示例中添加一些CSV数据?