LocalDate._with

Returns a copy of this date with the specified field set to a new value. !(p) This returns a {@code LocalDate}, based on this one, with the value for the specified field changed. This can be used to change any supported field, such as the year, month or day-of-month. If it is not possible to set the value, because the field is not supported or for some other reason, an exception is thrown. !(p) In some cases, changing the specified field can cause the resulting date to become invalid, such as changing the month from 31st January to February would make the day-of-month invalid. In cases like this, the field 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 ChronoField} then the adjustment is implemented here. The supported fields behave as follows: !(ul) !(li){@code DAY_OF_WEEK} - Returns a {@code LocalDate} with the specified day-of-week. The date is adjusted up to 6 days forward or backward within the boundary of a Monday to Sunday week. !(li){@code ALIGNED_DAY_OF_WEEK_IN_MONTH} - Returns a {@code LocalDate} with the specified aligned-day-of-week. The date is adjusted to the specified month-based aligned-day-of-week. Aligned weeks are counted such that the first week of a given month starts on the first day of that month. This may cause the date to be moved up to 6 days into the following month. !(li){@code ALIGNED_DAY_OF_WEEK_IN_YEAR} - Returns a {@code LocalDate} with the specified aligned-day-of-week. The date is adjusted to the specified year-based aligned-day-of-week. Aligned weeks are counted such that the first week of a given year starts on the first day of that year. This may cause the date to be moved up to 6 days into the following year. !(li){@code DAY_OF_MONTH} - Returns a {@code LocalDate} with the specified day-of-month. The month and year will be unchanged. If the day-of-month is invalid for the year and month, then a {@code DateTimeException} is thrown. !(li){@code DAY_OF_YEAR} - Returns a {@code LocalDate} with the specified day-of-year. The year will be unchanged. If the day-of-year is invalid for the year, then a {@code DateTimeException} is thrown. !(li){@code EPOCH_DAY} - Returns a {@code LocalDate} with the specified epoch-day. This completely replaces the date and is equivalent to {@link #ofEpochDay(long)}. !(li){@code ALIGNED_WEEK_OF_MONTH} - Returns a {@code LocalDate} with the specified aligned-week-of-month. Aligned weeks are counted such that the first week of a given month starts on the first day of that month. This adjustment moves the date _in whole week chunks to match the specified week. The result will have the same day-of-week as this date. This may cause the date to be moved into the following month. !(li){@code ALIGNED_WEEK_OF_YEAR} - Returns a {@code LocalDate} with the specified aligned-week-of-year. Aligned weeks are counted such that the first week of a given year starts on the first day of that year. This adjustment moves the date _in whole week chunks to match the specified week. The result will have the same day-of-week as this date. This may cause the date to be moved into the following year. !(li){@code MONTH_OF_YEAR} - Returns a {@code LocalDate} with the specified month-of-year. The year will be unchanged. The day-of-month will also 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 PROLEPTIC_MONTH} - Returns a {@code LocalDate} with the specified proleptic-month. 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 YEAR_OF_ERA} - Returns a {@code LocalDate} with the specified year-of-era. The era and month will be unchanged. The day-of-month will also 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 YEAR} - Returns a {@code LocalDate} with the specified year. The month will be unchanged. The day-of-month will also 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 ERA} - Returns a {@code LocalDate} with the specified era. The year-of-era and month will be unchanged. The day-of-month will also 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) In all cases, if the new value is outside the valid range of values for the field then a {@code DateTimeException} will be thrown. !(p) All other {@code ChronoField} instances will throw an {@code UnsupportedTemporalTypeException}. !(p) If the field is not a {@code ChronoField}, then the result of this method is obtained by invoking {@code TemporalField.adjustInto(Temporal, long)} passing {@code this} as the argument. In this case, the field determines whether and how to adjust the instant. !(p) This instance is immutable and unaffected by this method call.

@param field the field to set _in the result, not null @param newValue the new value of the field _in the result @return a {@code LocalDate} based on {@code this} with the specified field set, not null @throws DateTimeException if the field cannot be set @throws UnsupportedTemporalTypeException if the field is not supported @throws ArithmeticException if numeric overflow occurs

  1. LocalDate _with(TemporalAdjuster adjuster)
  2. LocalDate _with(TemporalField field, long newValue)
    class LocalDate

Meta