日期:2014-05-18  浏览次数:20426 次

求一个日期正则表达式
求一个正则表达式.YYYY-MM-DD HH:MM
谢谢啦

------解决方案--------------------
public bool myTime(string str)
{
bool flag=false;
string regex = @"^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578]
)|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[4
69])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\
s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([1
3579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((
0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((
0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9]
)|(2[0-8]))))))"; //日期部分
regex += @"(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$"; //时间部分
RegexOptions options = ((RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline) | RegexOptions.IgnoreCase);
Regex reg = new Regex(regex, options);
if(reg.IsMatch(str))
{
flag=true;
}
return flag;
}

其中的正则可以准确的验证你输入的时间是不是正确,并能验证闰年
------解决方案--------------------
C# code
(?:19\d{2}|20\d{2})\s*-\s*(?:0[1-9]|1[1-2])\s*-\s*(?:0[1-9]|[12][0-9]|3[0-1])\s*(?:[01][0-9]|2[0-3])\s*:([0-5][0-9])

------解决方案--------------------
"\d{4}-\d{2}-\d{2} \d{2}:\d{2}"