您的位置:首页 > 编程语言 > C#

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

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

//判断一个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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: