Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#字符串日期格式,从d.M.yyyy到yyyy-MM-dd_C#_Mysql_Date_Datetime_Date Format - Fatal编程技术网

c#字符串日期格式,从d.M.yyyy到yyyy-MM-dd

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时会出现错误,因此我添加了一个检查空白的条件,然后将其转换为所需的格

请问,如何将csv导入的日期字符串转换为网格和mysql数据库

我以dd.MM.yyyy格式导入日期,我必须为mysql数据库设置yyyy-MM-dd格式

我的datagrid行代码是

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中有一个无效的日期会发生什么,你想怎么处理?或者您总是希望有一个日期并希望停止处理吗?

下面是我用来测试的LinqPad示例:

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数据?