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