Suma del tiempo con el resultado de más de 24 horas

athosbr99:

Supongamos que el siguiente fragmento:

LocalTime test = LocalTime.of(21, 14);
test.plusHours(5);

El resultado sería, normalmente, 02:14pero quiero resumir más allá del límite de 24 horas, por lo que el resultado sería 26:14.

En este caso, tengo un campo de entrada puede que un usuario la cantidad de tiempo que se gasta en una tarea. Sin embargo tengo que trabajar con horas (por ejemplo, 48 horas) en lugar de días (por ejemplo, 2 días y 4 horas).

¿Hay una manera que puedo lograr que dentro de la java.timeAPI? Si no es así, ¿qué puedo hacer para lograrlo? Estoy usando Java 8, con la primavera de arranque e Hibernate para mapear la base de datos.

ernest_k:

java.time.Duration

Usted está utilizando el tipo de datos wront para el valor. Se necesita una Duration. Durationes la contraparte a nivel de tiempo de Period:

Una cantidad basada en el tiempo de tiempo, tal como '34 0,5 segundos.

Duration durationTaken = Duration.of(5, ChronoUnit.HOURS);

Si desea relacionar eso con un concepto fecha, como para calcular el tiempo del fin, puede plusduraciones a tipos de fecha / hora:

LocalTime endTime = test.plus(durationTaken); //02:14

Y se puede hacer eso con LocalDateTimedemasiado:

LocalDateTime startTime = LocalDateTime.of(LocalDate.now(), test); //2019-02-07T21:14

//add the duration:
LocalDateTime endDate = startTime.plus(durationTaken); //2019-02-08T02:14

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=182880&siteId=1
Recomendado
Clasificación