Returns a copy of this date with the specified amount added.
!(p)
This returns a {@code LocalDate}, based on this one, with the amount
_in terms of the unit added. If it is not possible to add the amount, because the
unit is not supported or for some other reason, an exception is thrown.
!(p)
In some cases, adding the amount can cause the resulting date to become invalid.
For example, adding one month to 31st January would result _in 31st February.
In cases like this, the unit is responsible for resolving the date.
Typically it will choose the previous valid date, which would be the last valid
day of February _in this example.
!(p)
If the field is a {@link ChronoUnit} then the addition is implemented here.
The supported fields behave as follows:
!(ul)
!(li){@code DAYS} -
Returns a {@code LocalDate} with the specified number of days added.
This is equivalent to {@link #plusDays(long)}.
!(li){@code WEEKS} -
Returns a {@code LocalDate} with the specified number of weeks added.
This is equivalent to {@link #plusWeeks(long)} and uses a 7 day week.
!(li){@code MONTHS} -
Returns a {@code LocalDate} with the specified number of months added.
This is equivalent to {@link #plusMonths(long)}.
The day-of-month will be unchanged unless it would be invalid for the new
month and year. In that case, the day-of-month is adjusted to the maximum
valid value for the new month and year.
!(li){@code YEARS} -
Returns a {@code LocalDate} with the specified number of years added.
This is equivalent to {@link #plusYears(long)}.
The day-of-month will be unchanged unless it would be invalid for the new
month and year. In that case, the day-of-month is adjusted to the maximum
valid value for the new month and year.
!(li){@code DECADES} -
Returns a {@code LocalDate} with the specified number of decades added.
This is equivalent to calling {@link #plusYears(long)} with the amount
multiplied by 10.
The day-of-month will be unchanged unless it would be invalid for the new
month and year. In that case, the day-of-month is adjusted to the maximum
valid value for the new month and year.
!(li){@code CENTURIES} -
Returns a {@code LocalDate} with the specified number of centuries added.
This is equivalent to calling {@link #plusYears(long)} with the amount
multiplied by 100.
The day-of-month will be unchanged unless it would be invalid for the new
month and year. In that case, the day-of-month is adjusted to the maximum
valid value for the new month and year.
!(li){@code MILLENNIA} -
Returns a {@code LocalDate} with the specified number of millennia added.
This is equivalent to calling {@link #plusYears(long)} with the amount
multiplied by 1,000.
The day-of-month will be unchanged unless it would be invalid for the new
month and year. In that case, the day-of-month is adjusted to the maximum
valid value for the new month and year.
!(li){@code ERAS} -
Returns a {@code LocalDate} with the specified number of eras added.
Only two eras are supported so the amount must be one, zero or minus one.
If the amount is non-zero then the year is changed such that the year-of-era
is unchanged.
The day-of-month will be unchanged unless it would be invalid for the new
month and year. In that case, the day-of-month is adjusted to the maximum
valid value for the new month and year.
</ul>
!(p)
All other {@code ChronoUnit} instances will throw an {@code UnsupportedTemporalTypeException}.
!(p)
If the field is not a {@code ChronoUnit}, then the result of this method
is obtained by invoking {@code TemporalUnit.addTo(Temporal, long)}
passing {@code this} as the argument. In this case, the unit determines
whether and how to perform the addition.
!(p)
This instance is immutable and unaffected by this method call.
@param amountToAdd the amount of the unit to add to the result, may be negative
@param unit the unit of the amount to add, not null
@return a {@code LocalDate} based on this date with the specified amount added, not null
@throws DateTimeException if the addition cannot be made
@throws UnsupportedTemporalTypeException if the unit is not supported
@throws ArithmeticException if numeric overflow occurs
Returns a copy of this date with the specified amount added. !(p) This returns a {@code LocalDate}, based on this one, with the amount _in terms of the unit added. If it is not possible to add the amount, because the unit is not supported or for some other reason, an exception is thrown. !(p) In some cases, adding the amount can cause the resulting date to become invalid. For example, adding one month to 31st January would result _in 31st February. In cases like this, the unit is responsible for resolving the date. Typically it will choose the previous valid date, which would be the last valid day of February _in this example. !(p) If the field is a {@link ChronoUnit} then the addition is implemented here. The supported fields behave as follows: !(ul) !(li){@code DAYS} - Returns a {@code LocalDate} with the specified number of days added. This is equivalent to {@link #plusDays(long)}. !(li){@code WEEKS} - Returns a {@code LocalDate} with the specified number of weeks added. This is equivalent to {@link #plusWeeks(long)} and uses a 7 day week. !(li){@code MONTHS} - Returns a {@code LocalDate} with the specified number of months added. This is equivalent to {@link #plusMonths(long)}. The day-of-month will be unchanged unless it would be invalid for the new month and year. In that case, the day-of-month is adjusted to the maximum valid value for the new month and year. !(li){@code YEARS} - Returns a {@code LocalDate} with the specified number of years added. This is equivalent to {@link #plusYears(long)}. The day-of-month will be unchanged unless it would be invalid for the new month and year. In that case, the day-of-month is adjusted to the maximum valid value for the new month and year. !(li){@code DECADES} - Returns a {@code LocalDate} with the specified number of decades added. This is equivalent to calling {@link #plusYears(long)} with the amount multiplied by 10. The day-of-month will be unchanged unless it would be invalid for the new month and year. In that case, the day-of-month is adjusted to the maximum valid value for the new month and year. !(li){@code CENTURIES} - Returns a {@code LocalDate} with the specified number of centuries added. This is equivalent to calling {@link #plusYears(long)} with the amount multiplied by 100. The day-of-month will be unchanged unless it would be invalid for the new month and year. In that case, the day-of-month is adjusted to the maximum valid value for the new month and year. !(li){@code MILLENNIA} - Returns a {@code LocalDate} with the specified number of millennia added. This is equivalent to calling {@link #plusYears(long)} with the amount multiplied by 1,000. The day-of-month will be unchanged unless it would be invalid for the new month and year. In that case, the day-of-month is adjusted to the maximum valid value for the new month and year. !(li){@code ERAS} - Returns a {@code LocalDate} with the specified number of eras added. Only two eras are supported so the amount must be one, zero or minus one. If the amount is non-zero then the year is changed such that the year-of-era is unchanged. The day-of-month will be unchanged unless it would be invalid for the new month and year. In that case, the day-of-month is adjusted to the maximum valid value for the new month and year. </ul> !(p) All other {@code ChronoUnit} instances will throw an {@code UnsupportedTemporalTypeException}. !(p) If the field is not a {@code ChronoUnit}, then the result of this method is obtained by invoking {@code TemporalUnit.addTo(Temporal, long)} passing {@code this} as the argument. In this case, the unit determines whether and how to perform the addition. !(p) This instance is immutable and unaffected by this method call.
@param amountToAdd the amount of the unit to add to the result, may be negative @param unit the unit of the amount to add, not null @return a {@code LocalDate} based on this date with the specified amount added, not null @throws DateTimeException if the addition cannot be made @throws UnsupportedTemporalTypeException if the unit is not supported @throws ArithmeticException if numeric overflow occurs