Java-8 Period Duration - .
java.time.Period .java.time.Duration ( ) , , 24 = 86400 .
, , , , - . , Period ( , getDays() - . ).
. , () Duration, .
Period, ( Period) . ( ):
Period preciseBirthdayPeriod =
Period.between(born.toLocalDate(), nowNormalized.toLocalDate());
int preciseDaysOld = preciseBirthdayPeriod.getDays();
System.out.println(preciseDaysOld);
System.out.println(preciseBirthdayPeriod);
, preciseBirthdayPeriod.getDays(), . , . 11 56 . , , , (. , "3 , 2 4 " ).
, , , ( : , - ). Java-8-time-library: Period AND Duration. Threeten-Extra-class Interval , long daysPassed = interval.toDuration().toDays(); - (1 == 24 ), , ..
:
Period -. @swiedsw Duration. . , TemporalAmount ( ).
:
Time4J, , . :
Timezone bornZone = Timezone.of(AMERICA.NEW_YORK);
Moment bornTime =
PlainTimestamp.of(1960, net.time4j.Month.JANUARY.getValue(), 1, 22, 34, 56).in(
bornZone
);
Moment currentTime = Moment.nowInSystemTime();
MomentInterval interval = MomentInterval.between(bornTime, currentTime);
MachineTime<TimeUnit> mt = interval.getSimpleDuration();
System.out.println(mt);
net.time4j.Duration<?> duration =
interval.getNominalDuration(
bornZone,
CalendarUnit.YEARS,
CalendarUnit.MONTHS,
CalendarUnit.DAYS,
ClockUnit.HOURS,
ClockUnit.MINUTES
);
System.out.println(duration);
System.out.println(duration.getPartialAmount(CalendarUnit.DAYS));
, , , , .., . ( ) - ( SI-, Time4J 1972 ).