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:
- ¿Cómo puedo poner límites a la matriz de traducción de mi lienzo?
- Nullpointerexception cuando compruebo para el servicio corriente en la prueba de Roboelectric
- Android: firma digital con Bezier
- Cómo deshacerse de la advertencia: Utilice '$' en lugar de '.' Para clases internas en Eclipse
- Tamaños desplegables para diferentes tamaños de pantalla en android
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
- Desenfoque la pantalla en LibGDX
- NullPointerException - Drawable.setBounds - probablemente debido a transiciones de fragmentos
- Proguard hace reflexionar con la clase R en la aplicación android ya no funciona
- Escribir / Leer paquetes generando basura
- ¿Cómo usar mkdirs de manera segura en Java?
- La imagen recortada está borrosa en android
- Error al compilar AIDL
- Diseño diferente para orientación horizontal y vertical
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:
-
% it by 3600*365
- Si el
result > 0
entonces mostrar año (s)
- Si el
-
else % it by 3600 * 30
- Si el
result > 0
entonces mostrar mes (s)
- Si el
-
else % it by 3600 * 7
- Si el
result > 0
entonces mostrar semana (s)
- Si el
-
else % it by 3600
- Si el
result > 0
entonces mostrar día (s)
- Si el
-
else % it by 3600 / 24
- Si el
result > 0
entonces mostrar hora (s)
- Si el
-
else % it by 60
,- Si el
result > 0
luego mostrar minuto (s) atrás
- Si el
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.