Я пытаюсь переключиться с SimpleDateFormattertatter на DateTimeFormatter и получить ошибку анализа. Ниже приведен код, который выполняет проверку даты, и он сбой с ошибкой, когда используется DateTimeFormatter. SimpleDateFormatter
try {
final DateFormat format = new SimpleDateFormat("yyyyMMdd", Locale.UK);
format.setLenient(false);
format.parse(value);
} catch (ParseException e) {
valid = false;
}
< /code>
Проверка работает нормально в этом случае. < /p>
2. DateTimeFormatter
try {
final DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyyMMdd",
Locale.UK).withResolverStyle(ResolverStyle.STRICT);
LocalDate.parse(value, format);
} catch (DateTimeParseException e) {
valid = false;
}
< /code>
Ниже ошибка выбрасывается при установке типа разрешения. Если я удалю часть "WithResolverstyle (rosolverstyle.strict)" Код работает с ошибкой OUT. < /P>
java.time.format.DateTimeParseException: Text '29700101'
could not be parsed: Unable to obtain LocalDate from TemporalAccessor: {MonthOfYear=1,
YearOfEra=2970, DayOfMonth=1},ISO of type java.time.format.Parsed
< /code>
Дата действительна. Так что, не уверен, что вызывает эту проблему. Пожалуйста, помогите.
Подробнее здесь: https://stackoverflow.com/questions/797 ... with-datet
Расположение строки даты не сбои, если я использую строгий стиль резолейвера с DateTimeFormatter [Duplicate] ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение