我有下面的代码检查,如果给定的日期是否有效现在爪哇 - 检查一个日期是否有效对于一个给定的日期格式
SimpleDateFormat fromformatter = new SimpleDateFormat("MMYY");
fromformatter.setLenient(false);
try {
fromformatter.parse(dateString);
valuesQuery.append("'" + dateString+ "',");
} catch (ParseException pe) {
pe.printStackTrace();
valuesQuery.append("'notDate" + dateString+ "',");
}
,当我得到dateString = "1803";
这不是一个有效的日期,也不例外被抛出。这里使用的日期格式是MMYY
。
我在做什么错了?
请注意,正则表达式不会帮助我,因为日期格式会改变。
可能的重复[在java中使用SimpleDateFormat解析yyyy/mm/dd到纪元时间戳](https://stackoverflow.com/questions/24217408/parse-yyyy-mm-dd-to-epoch-timestamp-using- simpledateformat-in-java) – 2017-08-30 18:59:50
'm'为分钟,'M'为月份:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html – 2017-08-30 19:00:15
我试过了MMYY,MMyy的几个组合。它没有捕捉到1803的例外 – keanu