【发布时间】:2018-10-14 18:44:01
【问题描述】:
如何验证日期格式 MM/YYYY 为字符串
例子-
09/20 错误
13/5651 错误
3/2104 正确
03/2010 是的
【问题讨论】:
-
我尝试使用 sampleDateFormat,但它给出 09/20 为真,但我需要将日期作为 4 个数字的完整部分
-
对,不要用
SimpleDateFormat,很难正确,而且类早就过时了。使用来自现代 Java 日期和时间 API java,time 的YearMonth和DateTimeFormatter。另外,我认为您不能强制SimpleDateFormat拒绝 2 或 3 位数的年份。 -
相关:How to sanity check a date in Java。您的搜索引擎将很乐意向您展示更多相关和鼓舞人心的问题和答案。
-
您可以使用 正则表达式 (RegEx) 和 String#matches() 方法来验证您的特定 日期格式,例如:
boolean dateIsValid = dateString.matches("^(0?[1-9]|1[012])\\/[0-9]{4}$");。我不会将此作为答案,因为您已经有很多很棒的答案,但是如果您想对此 RegEx 进行解释,请复制/粘贴表达式 ^(0?[1-9]|1[012]) \\/[0-9]{4}$ 进入 RegEx101.com 并阅读那里的说明。
标签: java string validation date