Android:从JSON响应转换日期时,我收到错误“无法将给定对象格式化为日期”

时间:2017-02-07 10:15:10

标签: android date simpledateformat

这是我的代码。在尝试转换我的回复时,我收到错误“无法将给定对象格式化为日期”。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

holder.date.setText(sdf.format(item.getPrice().getDate()));

如何将我的回复2017-02-03T11:44:52.6152Z转换为2017年2月3日? 感谢

3 个答案:

答案 0 :(得分:1)

使用以下代码将日期字符串转换为您的格式。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",Locale.getDefault());
//Date date3 = sdf.parse("2017-02-03T11:44:52.6152Z");
Date date3 = sdf.parse(item.getPrice().getDate());
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMMM-yyyy",Locale.getDefault());
String convertedDate= formatter.format(date3);

答案 1 :(得分:0)

尝试这样的事情:

 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 Date date3 = null;
 date3 = sdf.parse(item.getPrice().getDate());
 formatter = new SimpleDateFormat("dd-MM-yyy");
 String date1 = formatter.format(date3);
 holder.date.setText(date1);

答案 2 :(得分:0)

您的代码中存在两个问题。

  1. FormatDate为参数,您正在传递String
  2. 您的格式与您提及的日期不符。
  3. 尝试以下代码

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
            try{
           Date a= sdf.parse(item.getPrice().getDate());
           SimpleDateFormat f = new SimpleDateFormat("dd-MMMM-yyy");
           holder.date.setText(f.format(a));
        } catch (Exception e) {
                e.printStackTrace();
                System.out.print(e.toString());
            }
        }