LocalDate.parse (не работает)
Пожалуйста! Я хотел бы понять, почему этот простой анализ LocalDate не работает!
Мой DateFormatter работает (в обоих направлениях), но когда я пытаюсь проанализировать новую переменную LocalDate (используя тот же Formatter), он не работает, и я получаю следующее исключение.
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MMM-dd-yyyy");
LocalDate date = LocalDate.now();
String dateFormatted = date.format(dateTimeFormatter);
System.out.println("Data formatted > " + dateFormatted);
String dateFormatted1 = dateTimeFormatter.format(date);
System.out.println("Data formatted 2> " + dateFormatted1);
LocalDate dateParsed = LocalDate.parse(dateTimeFormatter.format(date));
System.out.println("Data parsed > " + dateParsed);
LocalDate dateParsed2 = LocalDate.parse(dateFormatted, dateTimeFormatter);
System.out.println("Data parsed 2 > " + dateParsed2);
/////////////////////// Исключение //////////////////////////// ////
Caused by: java.time.format.DateTimeParseException: Text 'dez-11-2017' could not be parsed at index 0
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at java.time.LocalDate.parse(LocalDate.java:400)
at java.time.LocalDate.parse(LocalDate.java:385)
at hypercaos.AddController.initialize(AddController.java:74)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)*
1 ответ
Пусть функция знает, какой из них является форматером:
LocalDate dateParsed = LocalDate.parse(dateTimeFormatter.format(date), dateTimeFormatter);
Когда вы анализируете без Formatter, LocalDate будет понимать это как yyyy-MM-dd
и ваша строка MMM-dd-yyyy
,