Я получаю эту ошибку с этим кодом: SimpleDateFormat sdf = new SimpleDateFormat ("EEEE dd MMMM HH: mm yyyy", myDateFormatSymbols); sdf.parse ("понеділок 12 квітня 07:00 2021"); Whis is & ...

4
k4rnaj1k 10 Апр 2021 в 01:14

1 ответ

Лучший ответ

Вы можете проверить Javadoc на предмет DateFormatSymbols#weekdays, элемент с индексом 0, к сожалению, всегда игнорируется.

Я бы просто заменил его пустой строкой.

Струны буднего дня. Например: «Воскресенье», «Понедельник» и т. Д. Массив из 8 строк, проиндексированных с помощью Calendar.SUNDAY, Calendar.MONDAY и т. Д. Элемент дни недели [0] игнорируется.


Следующий код теперь печатает ожидаемый ответ.

DateFormatSymbols myDateFormatSymbols = new DateFormatSymbols() {
    @Override
    public String[] getWeekdays() {
        return new String[]{"", "понеділок", "вівторок", "середа", "четвер", "пятниця", "субота", "неділя"};
    }

    @Override
    public String[] getMonths() {
        return new String[]{"квітень"};
    }
};

SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd MMMM HH:mm yyyy", myDateFormatSymbols);
System.out.println(sdf.parse("понеділок 12 квітень 07:00 2021")); // Tue Jan 12 07:00:00 CET 2021
1
Yassin Hajaj 9 Апр 2021 в 22:24