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

时间:2022-12-27 05:43:34

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

//判断一个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(, , );//转换失败,错误的时间格式,赋默认值.
}

  相信大家都能看出来,这个转换的关键点就是 TryParse() 方法,TryParse() 还能用于将字符串转换为 int 型,用法类似。

string intStr = "";
int number = -;
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。