在android中两次的区别

时间:2012-06-26 07:42:43

标签: android date-difference

我希望两次得到区别。我通过使用以下来计算。

using this

但我想计算三个差异。例如,我有6个以下时间。

time1,time2,time3,time4

我想计算两次之间的差异,比如

long difference1=time2-time1;
long difference2=time4-time3;
long difference3=time6-time5;

然后我想要添加这三个差异。喜欢difference1 + difference2 + difference3。

3 个答案:

答案 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());