Cómo obtener la diferencia entre dos fechas

Tengo que calcular la diferencia entre dos fechas. Aquí está mi código:

        System.out.println("date1  "+date1);
        System.out.println("date2  "+date2);

        totalDifference=date2.getSeconds()-date1.getSeconds();

        System.out.println("Total Difference is"+totalDifference);

El problema al que me enfrento es que el resultado es 0:

 09-24 17:24:53.839: I/System.out(9317): date1  Wed Aug 15 00:00:00 GMT+05:30 2012
 09-24 17:24:53.839: I/System.out(9317): date2  Mon Sep 24 17:24:00 GMT+05:30 2012
 09-24 17:24:53.839: I/System.out(9317): Total Difference is 0

¿Que estoy haciendo mal?

Gracias a todos por la solución y otros recursos valiosos. Ayúdenme también para esta pregunta. Oye, supongo que si ingreso el 31 de agosto a las 23:59:00 y la próxima fecha 1 de septiembre a las 00:02:00, necesito mostrar el registro como 1 día. Por favor ayudame para este

Respuesta 1

getSeconds () devuelve el segundo de la fecha, así que en su ejemplo,

fecha1 miércoles 15 de agosto 00:00: 00 GMT + 05: 30 2012

fecha2 lunes 24 de septiembre 17:24: 00 GMT + 05: 30 2012

En ambos casos, el segundo de la fecha es 0. Si desea la diferencia, tiene un ejemplo en

Android / Java: diferencia de fechas en días

Respuesta: 2

El date.getSeconds()método devuelve los segundos en ese objeto de fecha.

En su caso, ambas fechas tienen 00 segundos, por lo que la diferencia es 0.

Tendrías que usar date.getTime().

Respuesta: 3

Puede usar el getTime()método java.util.Datepara obtener la fecha en milisegundos y usarla para descubrir la diferencia entre dosjava.util.Date variables, para obtener una diferencia más precisa.

Respuesta: 4

El mejor ejemplo para este escenario se da aquí . Contiene algo como

Calendar calendar1 = Calendar.getInstance();
  Calendar calendar2 = Calendar.getInstance();
  calendar1.set(2007, 01, 10);
  calendar2.set(2007, 07, 01);
  long milliseconds1 = calendar1.getTimeInMillis();
  long milliseconds2 = calendar2.getTimeInMillis();
  long diff = milliseconds2 - milliseconds1;
  long diffSeconds = diff / 1000;
  long diffMinutes = diff / (60 * 1000);
  long diffHours = diff / (60 * 60 * 1000);
  long diffDays = diff / (24 * 60 * 60 * 1000);
  System.out.println("\nThe Date Different Example");
  System.out.println("Time in milliseconds: " + diff
 + " milliseconds.");
  System.out.println("Time in seconds: " + diffSeconds
 + " seconds.");
  System.out.println("Time in minutes: " + diffMinutes 
+ " minutes.");
  System.out.println("Time in hours: " + diffHours 
+ " hours.");
  System.out.println("Time in days: " + diffDays 
+ " days.");

Intenta googlear tus problemas inicialmente :)

Respuesta: 5

Tengo entradas como el siguiente fragmento, Fragmento de entrada: <div class = "a"> <table> <col width = "4" /> <col width = "8" /> <col width = "5" /> .. .

He escrito el código que tiene que encontrar el tamaño del archivo usando la solicitud http HEAD a través de sockets ... lo intento en mi casa con una conexión no proxy que funciona ... pero cuando lo intento en mi universidad con un ...

With scala I have some data, for ex. val values = Seq(0, 2, 10, 50) And I defined buckets, eg. val buckets = TreeMap[Int, Double]((0, -0.001), (1, 1.5), ...

I have project with camel parent. <parent> <groupId>org.apache.camel</groupId> <artifactId>camel-parent</artifactId> <version>2.23.1</...