【发布时间】:2016-10-27 13:00:19
【问题描述】:
我在以分钟为单位计算时差时遇到了这个问题。 它可以很好地处理示例,例如计算两者之间的差异 2045 和 2300。
但是当我想计算例如之间的差异时 2330(今天)和 0245(明天)我得到一个错误的答案。 代码如下:
// This example works
String dateStart = "2045";
String dateStop = "2300";
// This example doesnt work
//String dateStart = "2330";
//String dateStop = "0245";
// Custom date format
SimpleDateFormat format = new SimpleDateFormat("HHmm");
Date d1 = null;
Date d2 = null;
try {
d1 = format.parse(dateStart);
d2 = format.parse(dateStop);
} catch (Exception e) {
e.printStackTrace();
}
long diff = d2.getTime() - d1.getTime();
long minutes = TimeUnit.MILLISECONDS.toMinutes(diff);
System.out.println("Time in minutes: " + minutes + " minutes.");
提前致谢
【问题讨论】:
-
d2需要加1天。 -
想想你的程序如何知道时间不是从当天开始的。
-
@Semith 你是如何解决你的问题的?我的回答有帮助吗?正确答案是什么?谢谢。
标签: java