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);
答案 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:1
或HH:m
。
由于您使用的是H:m
,因此输入必须与您指定的 完全相同 格式相同,因此您需要输入ParseExact
让它发挥作用。
考虑使用常规DateTime.Parse()
或已经建议的DateTime.TryParseExact()
,以便在不破坏应用程序的情况下验证输入。