2019-08-05
2019-08-05 本文已影响0人
留白_bb77
“该字符串未被识别为有效的 DateTime“报错的可能原因及处理办法
应该是使用了方法Convert.ToDateTime(string)。使用它,如果你提供的字符串不是一个有效的DateTime,则会引发异常。
例如:Convert.ToDateTime("2012/2/2 5:25:10"); //正确,
返回DateTimeConvert.ToDateTime("Hello world!"); //错误,抛出异常要实现安全转换,有两种方法。(例子中,假设有一个TextBox名为textBox1)
1.用try...catch...语句。DateTime enter;try { enter = Convert.ToDateTime(textBox1.Text); }catch(FormatException ex) {MessageBox.Show("日期不正确。"); }
2.更简单的方法,用DateTime.TryParse。DateTime enter;if(!DateTime.TryParse(textBox1.Text, out enter)) MessageBox.Show("日期不正确。");
方法2介绍:通过DateTime.TryParse,可以保证安全转换。TryParse需要2个参数,第一个是string,第二个是out DateTime,返回值是bool。在方法中,方法会先获取它,转换为DateTime。
如果转换成功,就将转换后的值赋给第二个参数(而不是像Convert.ToDateTime直接返回),并返回true;
如果转换失败,则把DateTime.MinValue的值赋给第二个参数,并返回false。注意第二个参数要加“out”。