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