さて、私は時間の違いを取得しようとしており、 を使用してTimeUnit.XXX.convert()
います。
ここに私のテストコードがあります:
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
Date d1 = new Date();
Date d2 = new Date();
try {
d1 = sdf.parse("08/11/2015 10:00:00");
d2 = sdf.parse("08/11/2015 14:30:00");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Duration in minutes: " + TimeUnit.MINUTES.convert(d2.getTime()-d1.getTime(), TimeUnit.MILLISECONDS));
System.out.println("Duration in hours: " + TimeUnit.HOURS.convert(d2.getTime()-d1.getTime(), TimeUnit.MILLISECONDS));
結果は、「期間 (分): 270」および「期間 (時間): 4」でした。
しかし実際には、10:00:00 と 14:30:00 の差は 4.5 時間 (10 進数) です。
それはバグですか、それとも何か間違っていますか?