2019-08-05

“该字符串未被识别为有效的 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”。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容