2016-08-29 3 views
0

DateString: 2016-08-29T11: 39: 52,2133065Android вопрос даты и времени синтаксического анализа

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 
    try { 
     Date date = dateFormat.parse(dateString); 
     return dateFormat.format(date); 
    } catch (ParseException e) { 
     Log.e(TAG, "Unable to parse date " + e); 
    } 

строка должна быть преобразована в 2016-08-29 11:39, но я получаю исключение синтаксического анализа.

+0

Это может быть решить проблему http://stackoverflow.com/a/19112487/5291413 – Berkay92

+0

Возможный дубликат [Java SimpleDateFormat ("YYYY-MM-dd'T'HH: мм: ss'Z '") дает часовой пояс как IST] (http: // stackoverfl ow.com/questions/19112357/java-simpledateformatyyyy-mm-ddthhmmssz-gives-timezone-as-ist) – Shark

ответ

1

Формата переданных дат форматировщика должен соответствовать формату строка для разбора. В случае «2016-08-29T11: 39: 52.2133065» дата форматировщик должна быть:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); 

Вам также потребуется новый форматировщик в котором можно указать формат вывода:

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

Используйте им так:

Date date = dateFormat.parse(dateString); 
return newFormat.format(date); 
0

Попробуйте это, удалить T в вашем DateString,

   String dateString ="2016-08-29T11:39:52.2133065"; 
       SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); 
       try { 
        Date date = dateFormat.parse(dateString); 
        dateFormat.format(date); 
        Log.e("Log",""+dateFormat.format(date)); 
       } catch (ParseException e) {   
         Log.e("GridActivity", "Unable to parse date " + e); 
       } 
Смежные вопросы