错误的类别:来自API

时间:2019-02-01 11:05:01

标签: android retrofit

我以这种格式从String中的api获取日期数据:2019-02-01 12:00:00 如何将其更改为以下格式:02-01 12:00?我想删除年和秒。

我使用了SimpleDateFormat和DateFormat,启动应用程序崩溃之后,我在logcat中看到了以下内容:错误的类:class 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 :(得分:1)

format()接受类型Date而不是String的对象。您需要解析字符串以获取Date,然后使用format()设置所需的日期格式,像这样。

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = format.format(Date.parse("Your_date"));