Как получить разницу во времени / продолжительность в часах и минутах вместе с в Java? - PullRequest
0 голосов
/ 09 февраля 2019

В моем проекте мне нужно найти продолжительность пребывания сотрудника вне офиса в goToVisitTime и returnTime.Основным моментом, вызывающим беспокойство, является то, что goToVisitTime и returnTime имеют тип date (java.util) [получается из другого метода, больше не может изменяться], а styingOutSideTime также должен иметь тип date (java.util).Например:

Date goTOvisitTime = "12:25";
Date returnTime = "14:19";

Итак, вывод должен быть примерно таким,

styingOutSideTime = "01:54";

Поэтому мой метод выглядит следующим образом:

public Date getDiffTime(Date goTOvisitTime, Date returnTime) {

//calculate difference 

return styingOutSideTime;
}

Я потратил много времениопределить решение.Я также пытался использовать почти все Date и Time из Java и Joda Time.Кроме того, я прошел по следующим ссылкам

Как рассчитать разницу во времени в Java?

Java, как рассчитать разницу во времени

Преобразовать значение секунд в часы, минуты, секунды?

Как получить разницу часов / минут в java

Однако почти во всех решенияхлибо параметр, либо возвращаемое значение является строкой.кроме того, возвращая только час или минуту.

1 Ответ

0 голосов
/ 09 февраля 2019

Прежде всего, продолжительность не должна быть Date, она должна быть java.time.Duration.

Если вы хотите только часовую часть и минутную часть,Вы можете сделать это так:

Duration duration = Duration.between(goTOvisitTime.toInstant(), returnTime.toInstant());

int hours = duration.toHoursPart();
int minutes = duration.toMinutesPart();

String formattedDuration =  String.format("%02d:%02d", hours, minutes);
...