Json DateTime Parsing en Android
Mi API da este resultado:
{ "Posts": [{ "UseName": "Robert Ray", "DateTime": "\/Date(1376841597000)\/", "PostText": "Welcome!!\u003cbr\u003eThis Is my Text" }] }
Parse My JSON Like This
- Actualizar elementos en un objeto JSONO
- Llenar cada fragmento en ViewPager con otro objeto JSON sin cargar de nuevo
- Cómo detener la tarea Asyn en onPreExecute?
- Parsing JSON de los mapas google DistanceMatrix api en android
- Diferencias entre las API de REST y JSON
try { Posts = json.getJSONArray(TAG_POSTS); for(int i = 0; i < Posts.length(); i++){ JSONObject c = Posts.getJSONObject(i); String post_text = c.getString("PostText"); String strDate = "2013-05-15T10:00:00-0700"; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); Date date = (Date) dateFormat.parse(c.getString("DateTime")); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Pero no funciona, lo que quiero es que debe calcular el tiempo transcurrido desde que el usuario publicó el mensaje,
Es decir, tenemos que restar los datos actuales con la fecha en JSON, y luego convertir que en minutos / horas
- JSONObject en JSONObject
- Kotlin: Iterate a través de un JSONArray
- Cómo obtener malformado JSON en Retrofit 2
- Android - ¿cómo analizar JsonArray de cadena?
- No se puede deserializar la instancia del objeto de START_ARRAY token en Spring Webservice
- HttpMethod.Delete no funciona con RestTemplate de primavera-Android
- Deserializar un objeto JSON con múltiples elementos dentro de él
- Enviar notificación múltiple a GCM usando JSON
Bueno, espero que encuentre esto útil:
String ackwardDate = "/Date(1376841597000)/"; //Dirty convertion Calendar calendar = Calendar.getInstance(); String ackwardRipOff = ackwardDate.replace("/Date(", "").replace(")/", ""); Long timeInMillis = Long.valueOf(ackwardRipOff); calendar.setTimeInMillis(timeInMillis); System.out.println(calendar.getTime().toGMTString()); //Prints 18 Aug 2013 15:59:57 GMT
Pero estoy diciendo, que el formato de fecha en su JSON Es realmente ackwards, tomar el ejemplo de google , para un JSON correcto, estándar, analizado.
Bueno, espero que encuentre esto útil:
public static Date JsonDateToDate(String jsonDate) { // "/Date(1321867151710+0100)/" int idx1 = jsonDate.indexOf("("); int idx2 = jsonDate.indexOf(")") - 5; String s = jsonDate.substring(idx1+1, idx2); long l = Long.valueOf(s); return new Date(l); }
public static String ConvertJsonDate() { String jsondate="\/Date(1427959670000)\/"; jsondate=jsondate.replace("/Date(", "").replace(")/", ""); long time = Long.parseLong(jsondate); Date d= new Date(time); Log.d("Convertd date is:"+new SimpleDateFormat("dd/MM/yyyy").format(d).toString()); return new SimpleDateFormat("MM/dd/yyyy").format(d).toString(); }
Esto funcionará para seguro
String date = "/Date(1376841597000)/"; Calendar calendar = Calendar.getInstance(); String datereip = date.replace("/Date(", "").replace(")/", ""); Long timeInMillis = Long.valueOf(datereip); calendar.setTimeInMillis(timeInMillis); System.out.println(calendar.getTime().toString("dd-MMM-yyyy h:mm tt"));//It Will Be in format 29-OCT-2014 2:26 PM
- FindViewById no funciona en una función estática dentro del fragmento
- ¿Por qué todos mis mapas de bits sobresalen un 200%?