Простое настраиваемое форматирование с использованием DateTimeFormatter

Мне нужен очень простой формат для анализа с использованием datatimeformatter для следующего:

1 1 1976 это в формате d M yyyy

Что работает:

val format = new SimpleDateFormat("d M yyyy")
format.parse("1 1 1976")

но

val format = DateTimeFormatter.ofPattern("d M yyyy")
LocalDateTime.parse("1 1 1976", format)

бросает

'1 1 1976' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 1976-01-01 of type java.time.format.Parsed 

не уверен, как лучше всего использовать Java 8 time в моем случае

Для дальнейшего использования, прежде чем размещать здесь, выполните поиск в Google по сообщению об ошибке. Первым результатом для "Unable to obtain LocalDateTime from TemporalAccessor" был существующий пост SO, который отвечает на ваш вопрос. Кроме того, функция поиска StackOverflow - ужасный, и поскольку Google так хорошо индексирует SO, на разработчиков SO нет давления, чтобы улучшить поиск или дублировать местоположение :-(

Jim Garrison 15.03.2018 20:14
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
346
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте LocalDate вместо LocalDateTime, чтобы решить вашу проблему.

val format = DateTimeFormatter.ofPattern("d M yyyy");
val date = LocalDate.parse("1 1 1976", format);
System.out.println(date);

Другие вопросы по теме