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

我想知道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();生成的任何异常;


繁花如伊
浏览 1713回答 3
3回答

烙印99

对于您的情况,可以使用正则表达式:boolean checkFormat;if (input.matches("([0-9]{2})/([0-9]{2})/([0-9]{4})"))    checkFormat=true;else   checkFormat=false;对于更大的范围,或者如果您想要灵活的解决方案,请参考MadProgrammer的答案。编辑发布此答案将近5年后,我意识到这是一种验证日期格式的愚蠢方法。但我只想在这里告诉人们使用正则表达式验证日期是不可接受的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java