Android getRelativeTimeSpanString () error?

Utilizando el método getRelativeTimeSpanString() en android DateUtil No puedo obtener los "minutos atrás" "días", etc. tiempo transcurrido respuesta que la documentación dice que debo recibir, en lugar de obtener un resultado que sólo muestra la fecha real De una manera tal como "12 de mayo de 2010", no estoy seguro de si esto es un error o lo que pero he intentado tanto getRelativeTimeSpanString (long time, long now, long minResolution) y getRelativeTimeSpanString (long startTime) , ambos simplemente devolver la fecha real de la Variable "largo tiempo"

Aquí está mi código

 private void setJoineddate() { Date currentDate = new Date(); long currentDateLong = currentDate.getTime(); long oldDate = join_date.getTime(); CharSequence relativeTime = DateUtils .getRelativeTimeSpanString(oldDate, currentDateLong, 0); joindate.setText(relativeTime); } 

No es un error. getRelativeTimeSpanString sólo le dará una cadena de tiempo relativa para una getRelativeTimeSpanString de hasta una semana en el tiempo. Por lo tanto, si utiliza DateUtils.getRelativeTimeSpanString(time2, now, 0L, DateUtils.FORMAT_ABBREV_RELATIVE) con los valores siguientes

 long now = System.currentTimeMillis(); long time2 = now - DateUtils.WEEK_IN_MILLIS; 

Obtendrá el 1 October si hoy es el 8 October , pero

 long now = System.currentTimeMillis(); long time2 = now - DateUtils.WEEK_IN_MILLIS + 1; 

Le dará 7 days ago .

Prueba este código

 DateUtils.getRelativeTimeSpanString(oldDate, currentDateLong, 0L, DateUtils.FORMAT_ABBREV_ALL); 

Regresará Just now , hace 3 minutes ago y así sucesivamente. Leer la documentación y jugar con el tercer parámetro para modificar las cadenas devueltas por la función.

Yo tuve el mísmo problema. Estaba probando mi aplicación en un emulador, pero luego decidí instalar la aplicación en mi nexo 7 sólo para ver cómo se veía en un dispositivo y el tiempo relativo estaba bien.

Resulta que la fecha / hora del emulador todavía estaba ajustada a la fecha original de la creación del emulador. Creo que esto se debe a que inicio desde una instantánea, pero por alguna razón la fecha / hora de actualización automática no funcionaba. Cambié manualmente el tiempo en el emulador y mágicamente, el tiempo relativo fue como se esperaba.

No olvide cambiar el huso horario también.

  • ¿Cómo almacenar archivos en el directorio de antememoria de Android?
  • Imagen de Android se desvanece animación
  • ¿Dónde añadir carpeta de clases en Android Studio?
  • Nombre del paquete de manifiesto de Android
  • OnSensorChanged () no se llama
  • ¿Qué es una buena manera de almacenar un objeto de ubicación?
  • Uso de JAVA RMI en la aplicación de Android
  • ¿Cómo animar setVisibility para un imagebutton en Android?
  • Android MQTT Client no puede volver a conectarse a ActiveMQ
  • Archivo no encontrado al intentar compilar código fuente de telegrama
  • Android cómo hacer la diapositiva de pantalla de imagen?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.