我希望两次得到区别。我通过使用以下来计算。
但我想计算三个差异。例如,我有6个以下时间。
time1,time2,time3,time4
我想计算两次之间的差异,比如
long difference1=time2-time1;
long difference2=time4-time3;
long difference3=time6-time5;
然后我想要添加这三个差异。喜欢difference1 + difference2 + difference3。
答案 0 :(得分:2)
long difference1 = date2.getTime()-date1.getTime();
long difference2 = date4.getTime()-date3.getTime();
long difference3 = date6.getTime()-date5.getTime();
ling totalDifference = difference1 + difference2 + difference3;
此totalDifference以毫秒为单位,您可以在Day:Hour:Min:Seconds中将其转换为
days = (int) (totalDifference / (1000 * 60 * 60 * 24));
hours = (int) ((totalDifference - (1000 * 60 * 60 * 24 * days)) / (1000 * 60 * 60));
min = (int) (totalDifference - (1000 * 60 * 60 * 24 * days) - (1000 * 60 * 60 * hours))/ (1000 * 60);
答案 1 :(得分:0)
long totalTime = (date2.getTime()-date1.getTime() + date4.getTime()-date3.getTime() + date6.getTime()-date5.getTime());
Date totalDifDate = new Date(totalTimeMillis);
答案 2 :(得分:0)
最好使用Calendar类和GregorianClaendar而不是Date类。
Date time1, time2, time3, time4;
[...]
GregorianCalendar difference12 = new GregorianCalendar(0,0,0,0,0);
difference12.set(GregorianCalendar.MILLISECNOD, time1.getTime() - time2.getTime());
GregorianCalendar difference34 = new GregorianCalendar(0,0,0,0,0);
difference12.add(GregorianCalendar.MILLISECNOD, time3.getTime() - time4.getTime());
Date diff12 = difference12.getGregorianChange();
Date diff34 = difference34.getGregorianChange();
GregorianCalendar sum = new GregorianCalendar(0,0,0,0,0);
sum.add(GregorianCalendar.MILLISECOND, diff12.getTime() - time34.getTime());