日期转换错误

时间:2013-03-19 06:34:07

标签: c# .net winforms datetime

我正在开发Windows应用程序。

因为我的日期格式为字符串格式为>> fileDate="15/03/2013"

我希望将其转换为日期格式,因为我的数据库字段为datetime

我使用了以下内容>>

DateTime dt = DateTime.ParseExact(fileDate, "yyyyy-DD-MM", CultureInfo.InvariantCulture);

DateTime dt = DateTime.Parse(fileDate);

这两种方法都证明没有给我错误>>

String was not recognized as a valid DateTime.

什么可能是错误?

还有其他技术吗?

6 个答案:

答案 0 :(得分:6)

 string fileDate = "15/03/2013";
 DateTime dt = DateTime.ParseExact(fileDate, "dd/mm/yyyy", CultureInfo.InvariantCulture);

答案 1 :(得分:4)

您必须根据ParseExact的日期字符串提供日期格式。您可以在Custom DateTime format - MSDN

上查看更多内容

更改

"yyyy-MM-dd HH:ss"

"dd/MM/yyyy"

您的代码将是

DateTime dt = DateTime.ParseExact(fileDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);

答案 2 :(得分:2)

你应该这样做:

DateTime dt = DateTime.ParseExact(fileDate, "dd/MM/yyyy",CultureInfo.InvariantCulture);

您必须使用与字符串"dd/MM/yyyy"中传递的样式相同的格式传递格式(fileDate)的字符串。

答案 3 :(得分:2)

你可以尝试这个 SimpleDateFormat dateFormat = new SimpleDateFormat(“MM / dd / yyyy”); Date convertedDate = dateFormat.parse(“ur_dateString”)

答案 4 :(得分:1)

在您当前的代码中,您使用的格式为"yyyyy-DD-MM",这是错误的,因为日期部分需要小写d而不是大写D。 ,同样对于年份,您指定5 y s,它应为4,如yyyy,根据您的日期字符串的顺序应为:"dd/MM/yyyy"。为了安全起见,您甚至可以使用"d/M/yyyy",这适用于单个数字或两位数的日/月。

所以你的代码应该是:

string fileDate="15/03/2013";
DateTime dt = DateTime.ParseExact(fileDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);

您可以在Custom DateTime format - MSDN

上查看更多内容

答案 5 :(得分:0)

这是因为字符串“15/03/2013”​​无法真正解析为DateTime,格式字符串为“yyyy-MM-dd HH:ss”。