比较字符串中的两个时间

use*_*931 5 java string comparison time

我想比较字符串:

开始时间:10:00结束时间:12:00

实际上,有一个包含我的值和结束时间数组的开始时间数组.在这种情况下,它的结构如下:

 StartTimes[0] = "10:00"
 EndTimes[0] = "12:00"
Run Code Online (Sandbox Code Playgroud)

什么是最好的方法(使用java)来找出时间之间的持续时间.开始时间始终在结束时间之前.我应该尝试使用正则表达式按分钟和小时分隔字符串,然后解析小时并解析分钟,比较,然后使用该信息确定差异,还是他们的方法来比较java中的时间?请注意,这些时间是24小时格式,因此对于前者.下午1:00将显示为13:00.

小智 14

您可以使用找到持续时间

    String startTime = "10:00";
    String endTime = "12:00";
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
    Date d1 = sdf.parse(startTime);
    Date d2 = sdf.parse(endTime);
    long elapsed = d2.getTime() - d1.getTime(); 
    System.out.println(elapsed);
Run Code Online (Sandbox Code Playgroud)


Bas*_*que 6

Java 8 中的 java.time

我没有方便的计算机来尝试此操作,但您也许可以在 Java 8 中的新 java.time 包中执行类似的操作。不要将新 java.time 与臭名昭著的旧 java.util 混淆。与 Java 捆绑在一起的日期和 .Calendar 类。

LocalTime start = LocalTime.parse( "11:00" );
LocalTime stop = LocalTime.parse( "14:00" );
Duration duration = Duration.between( start, stop );
Run Code Online (Sandbox Code Playgroud)