错误:字符串未被识别为有效日期时间

时间:2014-04-21 11:22:34

标签: c# mysql

当我尝试将c#代码连接到mysql数据库时,日期数据类型

中存在错误
try
{
      CultureInfo CultureInfoDateCulture = new CultureInfo("ja-JP");
      DateTime d = DateTime.ParseExact(accountend, "yyyy/MM/dd", CultureInfoDateCulture);
      return true;
}
catch
{
      return false;
}

当我必须从月份日历中收集日期时,我已经使用了MYSQL的验证,我使用的数据类型是DATE datatpe

我一直在收到以下错误

String was not recognised as a valid date time

请帮助我们......提前致谢

2 个答案:

答案 0 :(得分:0)

MYSQL日期格式为yyyy-MM-dd,因此在使用DateTime.ParseExact()方法解析时,您应该使用相同的格式。

试试这个:

DateTime d = DateTime.ParseExact(accountend, "yyyy-MM-dd", 
                                                         CultureInfoDateCulture);

编辑:从您的评论中,您的日期格式为M/d/yyyy

试试这个:

DateTime d = DateTime.ParseExact(accountend, "M/d/yyyy", 
                                                         CultureInfoDateCulture);

答案 1 :(得分:0)

DateTime.ParseExact要求格式字符串准确表示需要转换的字符串的日,月和年

因此,假设您的日期字符串为4/11/2014day, month, year),则需要

try
{
      CultureInfo CultureInfoDateCulture = new CultureInfo("ja-JP");
      DateTime d = DateTime.ParseExact(accountend, "d/M/yyyy", CultureInfoDateCulture);
      return true;
}
catch
{
      return false;
}

如果格式为month, day, year,则格式字符串为

 DateTime d = DateTime.ParseExact(accountend, "M/d/yyyy", CultureInfoDateCulture);

顺便说一句,你的日期是InvariantCulture所期望的格式,所以你可以避免在这种情况下创建CultureInfo,这足以使用

 DateTime d = DateTime.Parse(accountend, CultureInfo.InvariantCulture);