2010-12-30 19 views
7

Duplicar posible:
Calculating the Difference Between Two Java Date InstancesEncontrar el intervalo entre dos java.util.date

Hola, tengo dos objetos de tipo java.util.date.

Date StartDate; Date EndDate;

Ambos objetos tienen fecha y hora especificadas. Necesito encontrar el intervalo entre ellos en horas, minutos y segundos. Puedo hacerlo de alguna manera, pero estaba pensando que mi técnica no es la mejor.

Entonces, ¿qué tecnología habría u han utilizado para esta operación en Java

+0

¿Qué técnica se está utilizando ahora. – jzd

+0

obteniendo la diferencia entre la fecha primero y luego las horas, los minutos y luego los segundos y luego combinando todos juntos – Noor

Respuesta

12

El enfoque más básico sería utilizar algo como:

long interval = EndDate.getTime() - StartDate.getTime(); 

que obtendrá el número de milisegundos entre los eventos. Entonces, se trata de convertir eso en horas, minutos y segundos.

8

JodaTime puede manejar esto para usted. Ver, en particular, Interval y Period.

import org.joda.*; 
import org.joda.time.*; 

// interval from start to end 
DateTime start = new DateTime(2004, 12, 25, 0, 0, 0, 0); 
DateTime end = new DateTime(2005, 1, 1, 0, 0, 0, 0); 
Interval interval = new Interval(start, end); 
Period period = interval.toPeriod(); 
System.out.println(period.getYears() + " years, " + period.getMonths() + " months, " + period.getWeeks() + " weeks, " + period.getDays() + ", days"); 

Lo anterior de impresión voluntad: 0 años, 0 meses, 1 semana, 0 días

Cuestiones relacionadas