Try to have a function that can validate a input date string.
For example 201807192113
indicates 2018/07/09 21:13
private static final SimpleDateFormat CASSANDRA_DATE_FORMAT = new SimpleDateFormat("YYYYMMddHHmm");
private static boolean isValidateDate(final String input) {
try {
CASSANDRA_DATE_FORMAT.setLenient(false);
final Date date = CASSANDRA_DATE_FORMAT.parse(input);
System.out.println(date.toString());
return true;
} catch (ParseException e) {
e.printStackTrace();
return false;
}
}
public static void main(String[] args) {
final boolean validateDate = FCXTablesValidation.isValidateDate("201807200101");
System.out.println(validateDate);
}
While the output is Sun Dec 31 21:13:00 EST 2017
true
, which indicates another date.
Also, if passed in 201807322113
which is not a valid date(32 is not a valid day in a month), still got the same output.