Java - Установить период - PullRequest
       9

Java - Установить период

0 голосов
/ 21 января 2019

Я хочу провести анализ некоторых временных барьеров, и у меня есть некоторые сомнения относительно лучшего подхода к определению «Периода».

Я работаю с временем, прошедшим с самого начала, я имею в виду:

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

Итак, какой объект я должен использовать для перевода строки?Позже я хочу сделать некоторые средние и т. Д.

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Вы можете использовать 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
0 голосов
/ 21 января 2019

Если вы можете использовать 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

Затем делайте с секундами все, что вам нужно.

...