如何计算具有相同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获得相同的结果?