2012-12-30 3 views
5

Я работаю над получением объектов Json из службы в List View в Android ... формат даты выглядит так: «Дата (1354222800000 + 0300) /« ... как можно Я меняю его на читаемый формат?Формат даты, полученный из службы

for (int i = 0; i < json.length(); i++) { 

    HashMap<String, String> map = new HashMap<String, String>(); 
    JSONObject e = json.getJSONObject(i); 
    map.put("mDate", "" + e.getString("mDate")); 
    mylist.add(map); 

} 
+0

есть по документации, что означает, что этот формат? [+0300 совершенно верно означает GMT + 3h] – MrSmith42

+0

используйте «подстроку», чтобы извлечь datetimemillis (всегда 13 номеров) или использовать регулярное выражение. – gezdy

+0

Я нашел этот ответ http://stackoverflow.com/questions/7103792/convert-json-date-in-the-mm-dd-yyyy-format –

ответ

0
String mDate = getFormattedDate(e.getString("JSON OBJECT")); 

    private String getFormattedDate(String stringDate) throws JSONException { 
    String strDate = stringDate.replace("/Date(", "").replace(")/", ""); 

    strDate = strDate.substring(0, strDate.indexOf("+")); 
    Long longDate = Long.parseLong(strDate, 10); 
    Date mDate = new Date(longDate); 

    SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy"); 
    String formattedDate = sdf.format(mDate); 

    return formattedDate; 
} 
+0

Вот как я нашел решение для форматирования даты JSON в читаемом формате :) :) :) –

+0

JSONObject e = json.getJSONObject (i); –

0

Это формат даты MS JSON.

Использование:

var myDate = new Date(parseInt(String(dateString).substr(6))); 
+0

Да, я знаю это в java-скрипте :), но im new в android и я хочу изменить формат в java ... спасибо за ваш ответ –

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