使用LocalDate,我得到了在Period实例中表达的差异。例如:Period中两个ZonedDateTime之间的差异
LocalDate born = LocalDate.of(1990, Month.SEPTEMBER, 30);
Period myAge = Period.between(born, LocalDate.now());
System.out.println("My age is: "+myAge.getYears()+" years "+myAge.getMonths()+" months "+myAge.getDays()+" days.");
输出:
我的年龄:26年6个月23天
所以,我用期间得到年,月,日的年龄。
我想使用两个时区(美国/太平洋和澳大利亚/墨尔本)与ZoneDateTime一样。例如:
ZonedDateTime now = ZonedDateTime.now(); // US/Pacific
LocalDate date = LocalDate.of(1990, Month.SEPTEMBER, 30);
LocalTime time = LocalTime.of(23, 55);
ZoneId zone = ZoneId.of("Australia/Melbourne");
ZonedDateTime born = ZonedDateTime.of(date, time, zone);
我想获得与LocalDate相同的输出。我该怎么办?是否有意义?
预期输出:
我的年龄:26年6个月24天
问题是您需要决定诸如将小时舍入到几天以及在哪个时区进行计数等事情;由于DST规则不同,这两个区域的计数可能不一致。 –