Как и Элайджа Корнелл: в общем не имеет смысла переводить месяцы в дни, так как месяцы различаются по длине.
Однако можно представить себе приложение, в котором имеет смысл добавлять период к определенному началу DateTime
(например, текущее время), вычислять Duration
от начала к результату и преобразовывать длительность в период PeriodType.dayTime()
:
// 1 month 5d 22h 35m 39s
Period period = new Period(0, 1, 0, 5, 22, 35, 39, 0);
Instant start = new Instant();
// current time => 2011-03-17T22:24:01.848+01:00
Duration dura = new Duration(start, start.toDateTime().plus(period));
Period period2 = new Period(dura).normalizedStandard(PeriodType.dayTime());
// => 36d 21h 35m 39s
Хотя результат зависит от запуска, его часового пояса, превышения границ летнего времени и т. Д., И в данный момент не дает желаемого 35d 22h 35m 39s
, но 36d 21h 35m 39s
может иметь смысл в моем мнение, потому что это общий случай использования Period
к плюсу к DateTime
для получения нового DateTime
.