2017-02-07 6 views
-1

Это мой код. У меня возникла ошибка «Невозможно форматировать данный объект как дату» при попытке конвертировать мой ответ.Android: У меня есть ошибка «Невозможно отформатировать данный объект как дату» при преобразовании даты из ответа JSON

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

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

Как конвертировать мой repsonse 2017-02-03T11:44:52.6152Z к 03-февраля-2017? Благодаря

ответ

0

USE ниже код, чтобы преобразовать строку даты в свой формат.

   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); 
+0

спасибо! оно работает –

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); 
+0

не работает –

+0

Execption? И какова дата, которую вы пытаетесь проанализировать? Если это: 2017-02-03T11: 44: 52.6152Z - это то, что вы получаете – Yupi

+0

2017-02-03T11: 44: 52.6152Z - это мой ответ JSON. это код для получения моего ответа holder.date.setText (sdf.format (item.getPrice(). getDate())); –

0

Есть две проблемы в вашем коде.

  1. Format принимает в качестве Date в качестве аргумента, и вы передаете String.
  2. У вас нет соответствующего формата с указанной вами датой.

Try ниже код

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()); 
     } 
    } 
+0

это дата, когда я получил от моего владельца holder.date.setText (sdf.format (item.getPrice(). GetDate())); ответ - 2017-02-03T11: 44: 52.6152Z. Итак, как заставить мой ответ быть преобразованным? –

+0

сделал u попробовал выше код (уточните с вашим конкретным случаем) –

Смежные вопросы