Hace tiempo para Android / java

Soy novato de java y android. Una de mis aplicaciones de noticias android estoy mostrando el tiempo como "7 de agosto 2014, 8:20 am"

Pero necesito mostrarlo como:

5 mins ago 1 hour ago 2 days ago 

Encontré muchas bibliotecas como nosotros bastante tiempo, joda. Pero no sé cómo añadirlo a mi aplicación Android. Incluso este enlace https://stackoverflow.com/a/13018647/2020685 me muestra. Pero cómo pasar mi fecha y hora en ella.

Cualquier código simple para hacerlo.

Gracias

Lo que desea mostrar se denomina Visualización de tiempo relativo. Android proporciona métodos para mostrar el tiempo en relación con la hora actual. No tiene que utilizar ninguna biblioteca de terceros sólo para este propósito.

Puedes usar

 DateUtils.getRelativeTimeSpanString(long time, long now, long minResolution) 

Referentes aquí

p.ej.

 DateUtils.getRelativeTimeSpanString(your_time_in_milliseconds, current_ time_in_millisecinds,DateUtils.MINUTE_IN_MILLIS); 

UPDATE1:

Puede intentar seguir para pasar su fecha y obtener los milisegundos para ello.

 public static long getDateInMillis(String srcDate) { SimpleDateFormat desiredFormat = new SimpleDateFormat( "d MMMM yyyy, hh:mm aa"); long dateInMillis = 0; try { Date date = desiredFormat.parse(srcDate); dateInMillis = date.getTime(); return dateInMillis; } catch (ParseException e) { Log.d("Exception while parsing date. " + e.getMessage()); e.printStackTrace(); } return 0; } 

Espero que te ayude.

Cree la siguiente lógica:

Convierta su tiempo en segundos, obtenga el diff (delta) del archivo actual:

  1. % it by 3600*365
    • Si el result > 0 entonces mostrar año (s)
  2. else % it by 3600 * 30
    • Si el result > 0 entonces mostrar mes (s)
  3. else % it by 3600 * 7
    • Si el result > 0 entonces mostrar semana (s)
  4. else % it by 3600
    • Si el result > 0 entonces mostrar día (s)
  5. else % it by 3600 / 24
    • Si el result > 0 entonces mostrar hora (s)
  6. else % it by 60 ,
    • Si el result > 0 luego mostrar minuto (s) atrás

NOTA: % significa mod (operación de módulo)

 Date nowDate=new Date(); Date yourPassDate=//you have a date here. long now=nowDate.getTime(); long time=yourPassDate.getTime(); final long diff = now - time; //now you have a date interval representing with mileseconds. //you can use this diff to do something like: if (diff <1000*60)//less than one minute //... else if (diff <1000*60*60) //less than 1 hour //... else if (diff < 1000*60*60*24)//less than one day //... 

Esto es lo que java doc de Date.getTime () dijo:

  * Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT * represented by this <tt>Date</tt> object. 
  • ¿Cómo puedo analizar un espacio de nombres con el analizador SAX?
  • Calcular la distancia de gestos en Android
  • Si cualquier hilo de trabajo puede actualizar la interfaz de usuario en android?
  • ¿Cómo aplicar span de fila en tablelayout?
  • RxJava Observable a Completable, cómo evitar toBlocking ()
  • Java.text.ParseException: Unparseable date: "" (en el desplazamiento 0)
  • Excepción intentando ejecutar la aplicación Android de Eclipse a Android Studio
  • Obtener dinámicamente elementos estirables por ID
  • Edición de calendario en Añadir mes +1 al mes del calendario en Android
  • Cómo analizar datos de 2 URL diferentes mediante el método asyncTask
  • Convertir InputStream a JSONObject
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.