ChronoLocalDate.until

Calculates the amount of time until another date _in terms of the specified unit. !(p) This calculates the amount of time between two {@code ChronoLocalDate} objects _in terms of a single {@code TemporalUnit}. The start and end points are {@code this} and the specified date. The result will be negative if the end is before the start. The {@code Temporal} passed to this method is converted to a {@code ChronoLocalDate} using {@link Chronology#date(TemporalAccessor)}. The calculation returns a whole number, representing the number of complete units between the two dates. For example, the amount _in days between two dates can be calculated using {@code startDate.until(endDate, DAYS)}. !(p) There are two equivalent ways of using this method. The first is to invoke this method. The second is to use {@link TemporalUnit#between(Temporal, Temporal)}: !(pre) // these two lines are equivalent amount = start.until(end, MONTHS); amount = MONTHS.between(start, end); </pre> The choice should be made based on which makes the code more readable. !(p) The calculation is implemented _in this method for {@link ChronoUnit}. The units {@code DAYS}, {@code WEEKS}, {@code MONTHS}, {@code YEARS}, {@code DECADES}, {@code CENTURIES}, {@code MILLENNIA} and {@code ERAS} should be supported by all implementations. Other {@code ChronoUnit} values will throw an exception. !(p) If the unit is not a {@code ChronoUnit}, then the result of this method is obtained by invoking {@code TemporalUnit.between(Temporal, Temporal)} passing {@code this} as the first argument and the converted input temporal as the second argument. !(p) This instance is immutable and unaffected by this method call.

@param endExclusive the end date, exclusive, which is converted to a {@code ChronoLocalDate} _in the same chronology, not null @param unit the unit to measure the amount _in, not null @return the amount of time between this date and the end date @throws DateTimeException if the amount cannot be calculated, or the end temporal cannot be converted to a {@code ChronoLocalDate} @throws UnsupportedTemporalTypeException if the unit is not supported @throws ArithmeticException if numeric overflow occurs

  1. long until(Temporal endExclusive, TemporalUnit unit)
    interface ChronoLocalDate
  2. ChronoPeriod until(ChronoLocalDate endDateExclusive)

Meta