Estoy tratando de calcular una diferencia de tiempo fecha, pero estoy consiguiendo algunos resultados extraños: Aquí está la fuente:java rompecabezas diferencia de fechas
import java.util.Calendar;
import java.util.Collections;
import java.util.Vector;
public class Main {
static Calendar dcal = Calendar.getInstance();
static Calendar ccal = Calendar.getInstance();
public static void main(String[] args) {
dcal.set(2011, 1, 27);
ccal.set(2011,2,1);
long dtime = dcal.getTimeInMillis();
long ctime = ccal.getTimeInMillis();
long diff = ctime - dtime;
int hours = (int) (diff/(1000 * 60 * 60));
System.out.println("hours->"+hours);
}
}
Cuando me puse a ccal 1 31 2011 la diferencia es la fecha 96 horas pero cuando lo configuro en 2 1 2011 la diferencia de fecha es de 48 horas. ¿Cómo puede ser esto? ¿Cuál es el remedio?
Gracias,
Elliott
Gracias por la información sobre el calendario en curso por defecto. –