Как установить значение в LocalDateTimeTextField?
Я использую библиотеку JFXtras в своем проекте, и когда я получаю значение из LocalDateTimeTextField, оно выглядело следующим образом 1 июля 2017 года 01:00:00
Моя проблема, когда я хочу установить значение для него. Я перепробовал много методов, но не работал
String date="1 juin 2017 17:00:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d MMM yyyy hh:mm:ss");
LocalDateTime localDate = LocalDateTime.parse(date, formatter);
fieldDate.setDisplayedLocalDateTime(localDate);
Я отлаживаю свой проект и выдаю ошибку в этой строке
LocalDateTime localDate = LocalDateTime.parse(date, formatter);
1 ответ
Это не имеет ничего общего с JavaFX или JFXtras. Ваша проблема в синтаксическом анализе строки в LocalDateTime, который является стандартным классом Java 8. https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
Независимо от того, как LocalDateTime отформатирован по умолчанию, вам все равно нужно определить шаблон, который соответствует. Например, "МММ" требует трехбуквенный месяц, а не четырехбуквенный. https://docs.oracle.com/javase/tutorial/datetime/iso/format.html
Попробуйте добавить M и заменить hh на HH: DateTimeFormatter.ofPattern("d MMMM гггг ЧЧ: мм: сс"). Parse("1 апреля 2017 17:00:00")