@Override int parse(CharSequence sequence) { if (sequence.length() != LENGTH) { return next.parse(sequence); } int year = getNumericValue(sequence, POS_YEAR, 4); int month = getNumericValue(sequence, POS_MONTH, 2); int day = getNumericValue(sequence, POS_DAY, 2); if (year < 0 || month < 0 || day < 0) { return next.parse(sequence); } return DateUtil.getDayFromDate(year, month, day); } }