Java-设定期间

时间:2019-01-21 14:40:45

标签: java period

我想分析一些时间障碍,并且对定义“时段”的最佳方法有一些疑问。

我正在从头开始工作,我的意思是:

Start - "00:00:00"
Checkpoint 1 - "2:10:02"
End - "03:00:00"

那么,应该使用哪种对象来翻译字符串?稍后,我将求平均值,等等。

2 个答案:

答案 0 :(得分:0)

例如,如果您可以使用LocalTime,则可以使用它并根据需要进行操作:

String start = "02:10:02";
String end = "03:00:00";

LocalTime lt = LocalTime.parse(start);
LocalTime lt2 = LocalTime.parse(end);
Duration dur = Duration.between(lt, lt2);
System.out.println("Diff is: " + dur.getSeconds());

输出:

  

差异是:2998

然后几秒钟内完成您需要的任何事情。

答案 1 :(得分:0)

您可以使用LocalTimeDuration,尽管您将需要一种自定义格式来解析一个小时数字的时间。

DateTimeFormatter fmt = DateTimeFormatter.ofPattern("H:mm:ss");

LocalTime start = LocalTime.parse("00:00:00", fmt);
LocalTime checkpoint = LocalTime.parse("2:10:02", fmt);
LocalTime end = LocalTime.parse("03:00:00", fmt);

System.out.println(Duration.between(start, checkpoint)); // PT2H10M2S
System.out.println(Duration.between(checkpoint, end)); // PT49M58S
System.out.println(Duration.between(start, end)); // PT3H