网上找了很久,发现都是不对的,于是自己写了个:
/// <summary>
/// 是否为日期型字符串
/// </summary>
/// <param name="StrSource">日期字符串(2008-05-08 17:00)</param>
/// <returns></returns>
public bool IsDateTime(string StrSource)
{
return Regex.IsMatch(StrSource, @"^(((19\d{2}|[2-9]{1}[0-9]{3})-(((0?[13578]|1[02])-(0?[1-9]|[12][0-9]|3[01]))|((0?[469]|11)-(0?[1-9]|[12][0-9]|30))|(0?2-(0?[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-0?2-29))(\s(((0?[0-9])|([1][0-9])|([2][0-3]))\:([0-5]?[0-9])))?$");
}