可能重複:
Calculating the Difference Between Two Java Date Instances
how to calculate difference between two dates using java我想在java中的兩個日期之間的區別?
我用一些例子試圖差的兩個日期,但我沒有得到正確的答案。
java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
java.util.Date date1 = df.parse("2012-09-14 15:26:14+00");
java.util.Date date2 = df.parse("2012-08-30 15:26:14+00");
long diff = Math.abs(date2.getTime() - date1.getTime());
System.out.println("millisecond="+diff);
我想月份的差異,但它沒有給我。它給了我不同的日子,小時,分鐘和秒,但不是月。我做錯了什麼?請幫我
編輯:
java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
java.util.Date date1 = df.parse("2012-09-30 15:26:14+00");
java.util.Date date2 = df.parse("2012-08-30 15:26:14+00");
long diff = Math.abs(date2.getTime() - date1.getTime());
System.out.println(date2.getTime()+"date2");
System.out.println(date1.getTime()+"date1");
System.out.println("millisecond="+diff);
diff=diff/1000;
System.out.println("second="+diff);
long days=diff/86400;
days=days%86400;
long hours=diff/3600;
hours=hours%3600;
long min=diff/60;
min=min%60;
hours=(hours-(24*days));
String time=days+":"+hours+":"+min;
System.out.println(time);
System.out.println("days="+days+":"+"hours="+hours+":"+"minutes"+min);
這就是我要做的。
'yyyy-mm-dd'應該是'yyyy-MM-dd',因爲'mm'表示分鐘,而不是月。 –
另外,'hh'表示12小時制,你應該用24小時制的'HH'來正確解析小時。 – Jesper
@PeterLawrey:謝謝我的問題解決了。 –