【发布时间】:2020-01-29 13:00:50
【问题描述】:
我需要 Java 代码以 24 小时格式查找两次之间的差异 例如: 20:00:00 - 04:00:00
预期输出为 8 小时 但现在输出是 16 小时 当我尝试 12 小时格式时,输出即将到来 4.
下面是用于解析和查找差异的代码
SimpleDateFormat readFormat = new SimpleDateFormat("HH:mm");
Date d1 = readFormat.parse(txtshiftIn);
Date d2 = readFormat.parse(txtshiftOut);
long diff = d2.getTime() - d1.getTime();
输入只是 20:00 和 04:00 没有秒和 AM/PM 部分。
【问题讨论】:
-
@Govinda Sakhare String txtshiftIn=request.getParameter("shiftIn");
-
所以时间延长了两个不同的日子,它不是同一天的一部分?
-
是的,时间延长两天,它不是同一天的一部分
-
我建议你不要使用
SimpleDateFormat和Date。这些类设计不良且过时,尤其是前者,尤其是出了名的麻烦。而是使用来自java.time, the modern Java date and time API 的LocalTime和DateTimeFormatter。
标签: java time datetime-format