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 小时吗?