猿问

Java 日期解析代码有什么问题?

这个Java代码:


LocalDate.parse("12 Сен 2018", DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).withLocale(new Locale("ru", "RUS")).ofPattern("dd MMM yyyy"));

导致


java.time.format.DateTimeParseException: Text '12 Сен 2018' could not be parsed at index 3

    at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2046)

    at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1948)

    at java.base/java.time.LocalDate.parse(LocalDate.java:428)

尝试了所有正确的俄语月份字符串翻译 Java示例 - 没有结果。


这段代码有什么问题?


注意:我使用的是 Java 8


更新: 在本地机器和在线编译器上试过这个——在线编译器在本地机器上工作——出现错误。


    Map<Long, String> map = new HashMap<>();

    map.put(1L, "Янв");

    map.put(2L, "Фев");

    map.put(3L, "Мар");

    map.put(4L, "Апр");

    map.put(5L, "Май");

    map.put(6L, "Июн");

    map.put(7L, "Июл");

    map.put(8L, "Авг");

    map.put(9L, "Cен");

    map.put(10L, "Окт");

    map.put(11L, "Ноя");

    map.put(12L, "Дек");

    DateTimeFormatter formatter = new DateTimeFormatterBuilder()

            .appendPattern("dd ")

            .appendText(ChronoField.MONTH_OF_YEAR, map)

            .appendPattern(" yyyy")

            .toFormatter(new Locale("ru", "RU"));       

    System.out.println(LocalDate.parse("12 Cен 2018", formatter));


呼如林
浏览 181回答 3
3回答
随时随地看视频慕课网APP

相关分类

Java
我要回答