在项目开发过程中,由于各种坑爹的需求,我们可能需要用户自己手动输入时间,不过这种功能一般都出现在自己家的后台里面,咳咳,言归正传。既然如此,那么这个时候我们就需要对用户手动输入的时间格式进行验证,方法如下:
//判断一个string型的时间格式是否正确 string inputTime = "2014年05月20日"; DateTime dateTime = new DateTime(); bool convertResult = DateTime.TryParse(inputTime, out dateTime);
如果转换失败,dateTime的值为‘01,1,1‘,,插入到Sql Server数据库中会报日期范围的错误,所以还是自己做一下处理比较好。
if (!convertResult) { dateTime = new DateTime(1900, 1, 1);//转换失败,错误的时间格式,赋默认值. }
相信大家都能看出来,这个转换的关键点就是 TryParse() 方法,TryParse() 还能用于将字符串转换为 int 型,用法类似。
string intStr = "123"; int number = -1; bool intResult = int.TryParse(intStr, out number); intStr = "错误的数字,将转换失败"; intResult = int.TryParse(intStr, out number); //负数,能转换 intStr = "-101"; intResult = int.TryParse(intStr, out number); //数字带小数点,无法转换 intStr = "1.758"; intResult = int.TryParse(intStr, out number);
注意:在实际使用时,当要转换的字符串或数字带有小数时,int.TryParse() 将不能转换成功,结果为0。
C# 判断一个string型的时间格式是否正确
时间: 2024-09-29 17:01:28