首页 > 代码库 > C# 判断一个string型的时间格式是否正确

C# 判断一个string型的时间格式是否正确

  在项目开发过程中,由于各种坑爹的需求,我们可能需要用户自己手动输入时间,不过这种功能一般都出现在自己家的后台里面,咳咳,言归正传。既然如此,那么这个时候我们就需要对用户手动输入的时间格式进行验证,方法如下:

//判断一个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。