DateTime解析错误

时间:2017-03-05 17:37:21

标签: c#

This is the error. sam code parse same value in my other project, but not working in current project mscorlib.dll中发生异常类型“System.FormatException”  附加信息:字符串未被识别为valide日期时间

DateTime temp = DateTime.ParseExact(dataGridView1.Rows[i].Cells["Date/Time"].Value.ToString(), "dd/MM/yyyy HH:mm", null);
                DateTime tempnext = DateTime.ParseExact(dataGridView1.Rows[i + 1].Cells["Date/Time"].Value.ToString(), "dd/MM/yyyy HH:mm", null);

2 个答案:

答案 0 :(得分:1)

如果它在一个项目中工作而在另一个项目中工作,则可能是Culture问题。

您可以尝试:

DateTime dateTime = DateTime.ParseExact(dataGridView1.Rows[i].Cells["Date/Time"].Value.ToString(), "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

虽然您可能需要考虑TryParse()TryParseExact(),但如果这只是某个人输入的无效值,那么整个程序都不会崩溃。

答案 1 :(得分:1)

您正在使用格式为dd/MM/yyyy HH:mm'DateTime.Parse 完整()',但您的输入为{ {1}}只是格式13:1HH:m

由于您使用的是H:m,因此输入必须与您指定的 完全相同 格式相同,因此您需要输入ParseExact让它发挥作用。

考虑使用常规DateTime.Parse()或已经建议的DateTime.TryParseExact(),以便在不破坏应用程序的情况下验证输入。