string s = "2012-04-23";
DateTime dt;
if (DateTime.TryParseExact(s, "yyyy-MM-dd", null, DateTimeStyles.None, out dt))
//验证通过
------解决方案--------------------
日期用正则反而不好
C# code
DateTime dt;
bool flag = DateTime.TryParse("时间字符串", out dt);
if(flag)
{
//符合
}
else
{
//不符合
}
------解决方案-------------------- ^((?!0000)[0-9]{4}-((0?[1-9]|1[0-2])-(0?[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)$