我想分析一些时间障碍,并且对定义“时段”的最佳方法有一些疑问。
我正在从头开始工作,我的意思是:
Start - "00:00:00"
Checkpoint 1 - "2:10:02"
End - "03:00:00"
那么,应该使用哪种对象来翻译字符串?稍后,我将求平均值,等等。
答案 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)
您可以使用LocalTime
和Duration
,尽管您将需要一种自定义格式来解析一个小时数字的时间。
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