2013-03-19 6 views
1

У меня есть время UTC в этом формате 2013-03-04T14:37:15 Как я могу преобразовать это в местное время, а затем в формат one minute ago.Тайваньский формат времени по местному времени

Я попытался это первое, чтобы преобразовать время в местном формате:

private String getDate(String date) { 
     Date fDate = null; 
     SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
     simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); 
     try { 
      fDate = simpleDateFormat.parse(date); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
return fDate.toString(); 
    } 

Но вышеперечисленные функции кидает исключение говоря дата .. не поддается синтаксическому анализу

+0

Аналогично [Преобразование UTC текущего времени локало] (http://stackoverflow.com/questions/6049207/convert-utc-to-current-locale-time) и [Преобразование Даты UTC для других часовых поясов] (http://stackoverflow.com/questions/6088778/converting-utc-dates-to-other-timezones) – McArthey

ответ

4

Исключение синтаксического анализа вы получаете из-за дополнительной T в вашей дате (2013-03-04T14:37:15).

Вы можете либо удалить этот дополнительный «T» и разобрать дату с текущим форматом даты,

Или, если вам нужно разобрать его с T, изменить формат для синтаксического анализа буквального T, а также,

new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
+1

Прекрасно работает, теперь я получаю отформатированную дату следующим образом: Пн Мар 04 20:07: 15 GMT + 05: 30 2013, как я могу изменить это в желаемый формат, например, ex: yyyy-mm-dd 04:30 PM – sukarno

3

Проверьте DateUtils.getRelativeTimeSpanString() (один метод с тем же именем от DateUtils). Это будет что-то вроде:

Date fDate = null; 
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); 
fDate = simpleDateFormat.parse(date); 
return DateUtils.getRelativeTimeSpanString(context, System.currentTimeMillis()-fDate.getTime())' 
Смежные вопросы