Плохой класс: класс java.lang.String в форматировании данных из API - PullRequest
0 голосов
/ 01 февраля 2019

Я получаю данные даты из API в String в следующем формате: 2019-02-01 12:00:00 Как изменить этот формат на 02-01 12:00?Я хочу убрать год и секунды.

Я использовал SimpleDateFormat и DateFormat, и после запуска приложение ломается, и вот что я вижу в logcat: Плохой класс: класс java.lang.String

 String date = item.getDtTxt();
 DateFormat dt = new SimpleDateFormat("dd-MM-#### hh:mm");
 binding.dateItem.setText(String.valueOf(dt.format(date)));

Журнал:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.weatherapp2, PID: 8882
    java.lang.IllegalArgumentException: Parse error: 2019-02-01 12:00:00
        at java.util.Date.parseError(Date.java:367)
        at java.util.Date.parse(Date.java:448)

1 Ответ

0 голосов
/ 01 февраля 2019

format() принимает объект типа Date, а не String.Вам нужно проанализировать вашу строку, чтобы получить Date, а затем использовать format(), чтобы установить желаемый формат даты, например:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = format.format(Date.parse("Your_date"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...