Я пытаюсь вычислить разницу во времени, но получаю странные результаты:
Вот источник:
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);
}
}
Когда я устанавливаю ccal на 1 31 2011, разница в дате составляет 96 часов, но когда я устанавливаю на 2 1 2011
разница в дате составляет 48 часов. Как это может быть? Что такое лекарство?
Спасибо
Эллиот