import java.util.GregorianCalendar;
public class FullYear {
public static void main(String[] args) {
GregorianCalendar cal1 = new GregorianCalendar(2011,2,9);
GregorianCalendar cal2 = new GregorianCalendar(2011,2,12);
long ms1 = cal1.getTime().getTime();
long ms2 = cal2.getTime().getTime();
long difMs = ms2-ms1;
long msPerDay = 1000*60*60*24;
System.out.println(difMs);
System.out.println(msPerDay);
double days = difMs / msPerDay;
System.out.println(days);
GregorianCalendar cal11 = new GregorianCalendar(2011,2,9);
GregorianCalendar cal22 = new GregorianCalendar(2011,2,19);
long ms11 = cal11.getTime().getTime();
long ms22 = cal22.getTime().getTime();
long difMs1 = ms22-ms11;
long msPerDay1 = 1000*60*60*24;
System.out.println(difMs1);
System.out.println(msPerDay1);
double days2 = difMs1 / msPerDay1;
System.out.println(days2);
}
}
これは 3.0 と 9.0 を出力します (私は 10 を期待しています!!)。これは整数除算を行うため、9.0 は実際には 9.95 です。しかし、私の質問は...
- 2 月 9 日と 2 月 19 日の差は 860400000 ミリ秒、つまり 239 時間です。
- 2 月 9 日と 2 月 12 日の差は 259200000 ミリ秒、つまり 72 時間です。
最初の差は 240 時間ではないでしょうか。