Код: Выделить всё
LocalDate localDateEpoch = LocalDate.parse(
"01-Jan-2017", DateTimeFormatter.ofPattern("d-MMM-yyyy", Locale.FRENCH));
System.out.println("localDateEpoch: " + localDateEpoch);
Код: Выделить всё
Exception in thread "main" java.time.format.DateTimeParseException:
Text '01-Jan-2017' could not be parsed at index 3
- Первое: (связано с региональными настройками) Что случилось с отсутствием страны/языки? Они очень ограничены
- 2-е: (связано с языковыми стандартами) Почему существуют локали для языков/стран (например, французского и Франции) ?
- 3-й: Что это вообще дает?
Кажется, чтобы решить упомянутые выше проблемы с отсутствием языков, вы можете просто использовать Locale.forLanguageTag("fa"); но опять же, почему не имеет Locale.Iran/Persian. Видел сообщение, в котором упоминалось о том, как в этом случае преобразовать числовые значения в персидский язык, поэтому я попытался сделать наоборот.
Код: Выделить всё
LocalDate localDateEpoch = LocalDate.parse(
"۰۱-Jan-۲۰۱۷", DateTimeFormatter.ofPattern("d-MMM-yyyy", Locale.forLanguageTag("fa")));
Код: Выделить всё
Exception in thread "main" java.time.format.DateTimeParseException:
Text '۰۱-Jan-۲۰۱۷' could not be parsed at index 0
Подробнее здесь: https://stackoverflow.com/questions/786 ... eformatter