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。但是,我的问题是...两个日历日期不一致的Java日历天
- 2月9日和2月19日之间的差异是860400000毫秒或239小时。
- 2月9日和2月12日的差别是259200000毫秒或72小时。
不应该第一个差异是240小时吗?
设置日历对象(全为0)的小时,分钟,秒和毫秒,然后重新评估resut。 – 2012-07-12 18:03:49
我得到3.0和10.0使用Java 7u2运行你的代码 – s106mo 2012-07-12 18:04:05