你应该是使用了方法Convert.ToDateTime(string)。
使用它,如果你提供的字符串不是一个有效的DateTime,则会引发异常。例如:
Convert.ToDateTime("2012/2/2 5:25:10"); //正确,返回DateTime
Convert.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”。