2014-02-10 4 views
-1

У меня есть строка в этом формате «20140210084957» Я хочу преобразовать ее в локальный формат. Я почти там, кроме месяца, неверен, вместо того, чтобы FEB ниже кода дает JAN, как это исправить.Изменение формата datetime android

String dt = valuelist[time]; 
    SimpleDateFormat datetime1 = new SimpleDateFormat("yyyymmddhhmmss"); 
    Date formatted = null; 
    try { 
     formatted =datetime1.parse(dt); 
     } catch (ParseException e) { 
     e.printStackTrace(); 
     } 
     dt=formatted.toLocaleString(); 
     //dt = formatted.toString(); 
     Log.d("DT Formatted", ""+dt); 
     valuelist[time] =dt; 

} 

ответ

2

использование капитала M за месяц

т.е.
SimpleDateFormat datetime1 = new SimpleDateFormat("yyyyMMddhhmmss") 
+0

славный..хороший кодирование .. – Ranjit

1

Проблема в месяц формат. Это должно быть MM вместо mm.

Изменить его MM

Как

SimpleDateFormat datetime1 = new SimpleDateFormat("yyyyMMddhhmmss"); // result for month is 01 or 02 or 03 

И январь/февраль/MAR как выход

года должны использовать MMM на месяц.

SimpleDateFormat datetime1 = new SimpleDateFormat("yyyyMMMddhhmmss"); // Result of month is Jan or Feb or Mar 

Подробнее о Date and Time Patterns

+0

Ваш самый радушный .. :) –

2

Заменить строку SimpleDateFormat datetime1 = new SimpleDateFormat("yyyymmddhhmmss"); с этой линией: SimpleDateFormat datetime1 = new SimpleDateFormat("yyyyMMddhhmmss");

0

Еще одна вещь, чтобы отметить: Если вы написали каждый символ шаблона маленькими буквами, и вы не» t печатать или анализировать AM/PM, тогда символ формата h, вероятно, неверен, поскольку он указывает на 12-часовые часы, которые бесполезны без AM/PM-маркера. В этом случае вы также должны использовать большую букву H, так как M вместо m подходит несколько месяцев.

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