Obtener diferencia de tiempo en android?

En mi aplicación android, estoy recibiendo fecha y hora en el siguiente formato a través de la solicitud HTTP.

Mar 17 abr 16:23:33 IST 2012

Ahora quiero calcular la diferencia de tiempo entre ese tiempo y tiempo actual. Tengo un montón de maneras de calcular la diferencia de tiempo en Internet, pero todas esas soluciones son con diferentes formatos. ¿Cómo puedo calcular la diferencia de tiempo con el formato de tiempo por encima?

Editar: Este es el código que he utilizado su trabajo bien.

DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy"); Date dateOne = df.parse("Tue apr 22 13:07:32 IST 2012"); Date dateTwo = df.parse("Tue Apr 22 13:07:33 IST 2012"); long timeDiff = Math.abs(dateOne.getTime() - dateTwo.getTime()); System.out.println("difference:" + timeDiff); //differencs in ms 

pero tengo que tomar la hora actual en formato "Tue Apr 22 13:07:32 IST 2012" para utilizar como dateTwo.

usted también puede este código :::

 DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z"); Date dateOne = df.parse("2011-02-08 10:00:00 +0300"); Date dateTwo = df.parse("2011-02-08 08:00:00 +0100"); long timeDiff = Math.abs(dateOne.getTime() - dateTwo.getTime()); System.out.println("difference:" + timeDiff); // difference: 0 

Cree un objeto de SimpleDateFormat(String pattern) utilizando el patrón que describe su fecha mencionada anteriormente.

A continuación, utilice parse(String) y transmita la cadena de fecha a ella. Debe devolverle un objeto Date . A continuación, puede utilizar Date.getDateInstance().getTime() para obtener su hora actual.

Conseguir la diferencia de tiempo es entonces una cuestión de restar el tiempo del servidor de la hora actual.

prueba este código

 Date pdate = /* your date comming from HTTP */ Date cdate = new Date(System.currentTimeMillis()); long difference = cdate.getTime() - pdate.getTime(); 

Puede hacerlo utilizando el código a continuación.

 String format = "Tue Apr 17 16:23:33 IST 2012"; int month = 0; Calendar yourDate = Calendar.getInstance(); String[] months = new String[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; String datArr[] = format.split(" "); String[] time = datArr[3].split(":"); for (int i = 0; i < months.length; i++) { if (months[i] == datArr[1]) { month = i; } } yourDate.set(Integer.parseInt(datArr[5]), month, Integer.parseInt(datArr[2]), Integer.parseInt(time[0]), Integer.parseInt(time[1])); Log.i("Your Date= ", yourDate.toString()); Log.i("Now Date= ",Calendar.getInstance().toString()); 

Usando esto usted puede conseguir la diferencia de tiempo entre estas dos fechas.

Puede calcular la diferencia de tiempo en milisegundos utilizando este método y obtener las salidas en segundos, minutos, horas, días, meses y años.

Puede descargar la clase de aquí: DateTimeDifference GitHub Link

  • Fácil de usar
  largo currentTime = System.currentTimeMillis ();
 largo previousTime = (System.currentTimeMillis () - 864000000);  //Hace 10 dias

 Log.d ("DateTime:", "Diferencia con segundo:" + AppUtility.DateTimeDifference (currentTime, previousTime, AppUtility.TimeDifference.SECOND));
 Log.d ("DateTime:", "Diferencia con Minuto:" + AppUtility.DateTimeDifference (currentTime, previousTime, AppUtility.TimeDifference.MINUTE)); 
  • Puede comparar el ejemplo siguiente
  if (AppUtility.DateTimeDifference (currentTime, previousTime, AppUtility.TimeDifference.MINUTE)> 100) {
     Log.d ("DateTime:", "Hay más de 100 minutos de diferencia entre dos fechas.");
 }más{
     Log.d ("DateTime:", "No hay más de 100 minutos de diferencia entre dos fechas.");
 } 
  • Fecha y hora de conversión de Android en milisegundos
  • Forma correcta de dar formato a la fecha con cadenas como hoy, ayer, mañana, etc
  • Cómo comparar la fecha del sistema con mydate en android 2.1?
  • Unix timestamp a datetime en android
  • ¿Cómo activar o no la opción "Fecha y hora automáticas"?
  • Cómo convertir cadena a datetime en android
  • La mejor manera de comparar fechas en Android
  • ¿Está la API Java 8 New Date disponible en Android N?
  • No se puede establecer la fecha de captura / etiqueta DateTime mediante ExifInterface en Android
  • Cómo construir una fecha de una cadena
  • ¿Cómo obtener eventos en las últimas 24 horas con SQLite?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.