好吧,我正在尝试区分时间,而我正在使用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 小时(十进制)。
这是一个错误还是我做错了什么?