datetimeformat的正则表达式(yyyy-mm-ddThh:mm:ss)ISO8601格式

时间:2014-07-24 15:28:56

标签: java regex iso8601

我想验证日历对象应该是2014-05-05T12:12:30。如何使用正则表达式验证这个

2 个答案:

答案 0 :(得分:3)

Adam Yost的答案中的正则表达式很接近,但在T之前错过了一个结束括号......没有足够的代表评论,所以这里是更正的版本:

(19|20)[0-9][0-9]-(0[0-9]|1[0-2])-(0[1-9]|([12][0-9]|3[01]))T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]

答案 1 :(得分:0)

此正则表达式仅匹配该格式的日期,但有一些限制:

(19|20)[0-9][0-9]-(0[0-9]|1[0-2])-(0[1-9]|([12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]

这与1900-2099年,12个月,最多31天,24小时制,最多59分钟,最多59秒相匹配

应该注意的是,如果你想验证某些东西是否是一个真正有效的日期(即不是2月30日),你需要一个更复杂的正则表达式,或者一些简单的代码来包装它。