0
Я пытаюсь разобрать этот DateTime:Как разобрать threeten DATETIME
DateTimeFormatter dateTimeFormatter = new DateTimeFormatterBuilder()
.appendPattern("dd/MM/yyyy hh:mm:ss")
.parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0)
.parseDefaulting(ChronoField.MILLI_OF_SECOND, 0)
.toFormatter();
String ultimaAtualizacaoTexto = "17/12/2016 01:41:43";
LocalDateTime ultimaAtualizacaoDateTime =
LocalDateTime.parse(ultimaAtualizacaoTexto, dateTimeFormatter);
Но я получаю эту ошибку:
DateTimeParseException: Text '17/12/2016 01:41:43' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: DateTimeBuilder[fields={MilliOfSecond=0, MinuteOfHour=41, MicroOfSecond=0, NanoOfSecond=0, HourOfAmPm=1, SecondOfMinute=43}, ISO, null, 2016-12-17, null], type org.threeten.bp.format.DateTimeBuilder
Я не уверен, что происходит ... Это должно полностью работать!
Любая помощь? Спасибо, в любом случае!
Это очень распространенная ошибка. Есть много SO-сообщений, содержащих эту ошибку. И это не характерно для Threeten или Java-8, но также распространено в «SimpleDateFormat» и «Joda-Time». Некоторые люди даже не замечают никаких проблем при использовании «h» без am/pm-маркера в форматировании (эффективно печатать неверные данные), но ложно считают, что все в порядке. Это вдохновило меня на создание некоторых [проверки правильности шаблонов] (https://github.com/MenoData/Time4J/issues/565) в мою собственную библиотеку времени. Другие библиотеки могли бы получить прибыль от такой проверки. –