我發現時間差異,如果我嘗試在今天的時間(如t1 =「08:00:00」和t2 =「10:00:00」)發現差異,是正確的輸出,)但是當我試圖找到像t1 =「20:00:00」(這是今天的時間)和t2 =「08:00:00」(這是第二天早上)的差異,我想要輸出爲12小時,但由於輸出錯誤。請幫助我。爪哇發現時間之間的差異
String t1 = "20:00:00";
String t2 = "12:00:00";
String t3 = "24:00:00";
SimpleDateFormat sDf = new SimpleDateFormat("HH:mm:ss");
Date d1 = sDf.parse(t1);
Date d2 = sDf.parse(t2);
Date d3 = sDf.parse(t3);
long s1,s2,s3,s4,dif1,dif2,dif3,minutes,hrs;
dif1 = d2.getTime() - d1.getTime();
s1 = dif1/1000;
System.out.println("s1 "+s1);
if(s1<0){
dif2 = d3.getTime() - d1.getTime();
s2 = dif2/1000;
System.out.println("s2 "+s2);
dif3 = d2.getTime();
s3 = dif3/1000;
System.out.println("s3 "+s3);
s4 = s2+s3;
minutes = s4/60;
s4 = s4 % 60;
hrs = minutes/60;
minutes = minutes % 60;
System.out.println("time difference is : "+hrs+": "+minutes+" :"+s4);
}else{
minutes = s1/60;
s1 = s1 % 60;
hrs = minutes/60;
minutes = minutes % 60;
System.out.println("time difference is : "+hrs+": "+minutes+" :"+s1);
}
http://crunchify.com/how-to-calculate-the-difference-between-two-java- date-instances/ –
認真嗎?使用Java 8的Time API,使用Joda Time,如果你真的非常絕望,可以使用'Calendar',但不要這樣做! – MadProgrammer
這個's4 = s2 + s3;'對我來說似乎很奇怪,你不應該把兩點之間的差加到第三點,而不是增加兩點('12:00'+'24:00')? – MadProgrammer