为了账号安全,请及时绑定邮箱和手机立即绑定

Java:检查当前字符串的日期格式是否符合要求的格式

Java:检查当前字符串的日期格式是否符合要求的格式

繁花如伊 2019-10-17 16:09:28
我想知道Java中有什么方法可以做到这一点,否则我可能会去Regex解决方案。我从用户输入的字符串可以是任何字符。我想检查输入的字符串是否符合我要求的日期格式。 当我输入了20130925时,所需的格式为dd / MM / yyyy,因此,在这种情况下,我应该得到false。 我不想转换此日期,我只想检查输入的字符串是否符合所需的日期格式。我尝试了以下Date date = null;try {date = new SimpleDateFormat("dd/MM/yyyy").parse("20130925");} catch (Exception ex) {// do something for invalid dateformat}但是我的catch(ex exException)块无法捕获SimpleDateFormat.Parse();生成的任何异常;
查看完整描述

3 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

对于您的情况,可以使用正则表达式:


boolean checkFormat;


if (input.matches("([0-9]{2})/([0-9]{2})/([0-9]{4})"))

    checkFormat=true;

else

   checkFormat=false;

对于更大的范围,或者如果您想要灵活的解决方案,请参考MadProgrammer的答案。


编辑

发布此答案将近5年后,我意识到这是一种验证日期格式的愚蠢方法。但我只想在这里告诉人们使用正则表达式验证日期是不可接受的


查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 1712 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信