Как рассчитать полную разницу между двумя экземплярами ZonedDateTime
с одним и тем же ZoneId
? Другими словами, разница во все времена объединяет.
Использование Java 8 и не использовать какие-либо сторонние библиотеки, такие как Joda
или что-то еще.
ZonedDateTime start = ZonedDateTime.parse("2007-05-11T15:30:00Z");
ZonedDateTime end = ZonedDateTime.parse("2008-03-01T13:00:00Z");
Duration.between(start, end); // PT7077H30M
Period.between(start.toLocalDate(), end.toLocalDate()) // P9M19D
Использование Joda-Time
import org.joda.time.DateTime;
import org.joda.time.Period;
DateTime start = DateTime.parse("2007-05-11T15:30:00Z");
DateTime end = DateTime.parse("2008-03-01T13:00:00Z");
Period period = new Period(start, end); // P9M2W4DT21H30M
Как получить тот же результат, используя стандартный API даты/времени?
Duration.between(start, end)
... docs.oracle.com/javase/8/docs/api/java/time/ - person Brad   schedule 19.07.2019Period
иDuration
ответа не будет. - person Seelenvirtuose   schedule 19.07.2019Duration
?Period
дает9 months 19 days
. - person Edgar Asatryan   schedule 19.07.2019java.time
. - person Edgar Asatryan   schedule 19.07.2019PeriodDuration
. - person Basil Bourque   schedule 19.07.2019ChronoUnit
. - person Edgar Asatryan   schedule 19.07.2019