2015-12-16 5 views
1

У меня есть буквальная строка, которая «2015-12-08T13: 04: 51Z», которую я хотел бы преобразовать в формат даты, чтобы показать: 08 декабря 2015 года 3:04:51. Но каждый раз, когда я пытаюсь использовать все доступные решения, мое приложение падает с ошибкой формата даты. Как получить его для отображения требуемого формата. Текущий код, я использую это:Как преобразовать формат строкового значения в формат даты?

  String mydate = ((Search) searchResult).getmydate(); 

, который возвращает "2015-12-08T13: 04: 51Z" Я попытался это:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 
    try { 
     Date date = format.parse(mydate); 
    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
result = date; 

Но каждый раз, когда я делаю, что он выходит из строя. Как и как это сделать в часовом поясе UTC в требуемом формате?

+0

«Но каждый раз, когда я делаю, что он сбой» - используйте LogCat для проверки трассировки стека Java, связанной с вашим сбоем: https://stackoverflow.com/questions/23353173/unappro-myapp-has-stopped-how -can-i-solve-this – CommonsWare

+0

, так что я не могу понять, как преобразовать данную строку в требуемый формат времени даты? как мне это сделать? –

+0

Ну, для начала вы редактируете свой вопрос и публикуете трассировку стека. Как мы должны помочь вам с вашей катастрофой, если мы не знаем, что такое авария *? – CommonsWare

ответ

2

попробовать этот метод

public static String readDate(String dateStr) throws ParseException { 
    DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 
    Date d = format.parse(dateStr); 

    format = new SimpleDateFormat("MMMM dd, yyyy hh:mm:ss a"); 

    return format.format(d); 
} 

, если у него есть ошибка попытаться обрезать mydate переменную.

+0

, который сработал, спасибо! –

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