DateTime.Parse()可以判断以下三种字符串是否是日期格式
2009-5-6 (10:12:25)
2009/5/6 (10:12:25)
2009年5月6日 (10:12:25)
用正则表达式可以判断
2009-5-6 (10:12:25)
2009/5/6 (10:12:25)
2009年5月6日 (10:12:25)
200956 (10:12:25)
这四种日期格式,函数如下:
private static bool IsDate(string DateStr)
{
Regex regex = new Regex(@"^/d{2,4}//d{1,2}//d{1,2}( /d{1,2}:/d{1,2}:/d{1,2})?$|^/d{2,4}/d{1,2}/d{1,2}( /d{1,2}:/d{1,2}:/d{1,2})?$|^/d{2,4}-/d{1,2}-/d{1,2}( /d{1,2}:/d{1,2}:/d{1,2})?$|^/d{2,4}年/d{1,2}月/d{1,2}日( /d{1,2}:/d{1,2}:/d{1,2})?$");
return regex.IsMatch(DateStr);
}
注:需要引入using System.Text.RegularExpressions;命名空间。
但是,还有一点就是,对200956 (10:12:25)这种字符串虽然可以判断是否为日期格式,但是无法取出来年月日,也即无法确切的知道是哪一年,哪一月,哪一日。