ZonedDateTime._with

Returns an adjusted copy of this date-time. !(p) This returns a {@code ZonedDateTime}, based on this one, with the date-time adjusted. The adjustment takes place using the specified adjuster strategy object. Read the documentation of the adjuster to understand what adjustment will be made. !(p) A simple adjuster might simply set the one of the fields, such as the year field. A more complex adjuster might set the date to the last day of the month. A selection of common adjustments is provided _in {@link hunt.time.temporal.TemporalAdjusters TemporalAdjusters}. These include finding the "last day of the month" and "next Wednesday". Key date-time classes also implement the {@code TemporalAdjuster} interface, such as {@link Month} and {@link hunt.time.MonthDay MonthDay}. The adjuster is responsible for handling special cases, such as the varying lengths of month and leap years. !(p) For example this code returns a date on the last day of July: !(pre) import hunt.time.Month.*; import hunt.time.temporal.TemporalAdjusters.*;

result = zonedDateTime._with(JULY)._with(lastDayOfMonth()); </pre> !(p) The classes {@link LocalDate} and {@link LocalTime} implement {@code TemporalAdjuster}, thus this method can be used to change the date, time or offset: !(pre) result = zonedDateTime._with(date); result = zonedDateTime._with(time); </pre> !(p) {@link ZoneOffset} also implements {@code TemporalAdjuster} however using it as an argument typically has no effect. The offset of a {@code ZonedDateTime} is controlled primarily by the time-zone. As such, changing the offset does not generally make sense, because there is only one valid offset for the local date-time and zone. If the zoned date-time is _in a daylight savings overlap, then the offset is used to switch between the two valid offsets. In all other cases, the offset is ignored. !(p) The result of this method is obtained by invoking the {@link TemporalAdjuster#adjustInto(Temporal)} method on the specified adjuster passing {@code this} as the argument. !(p) This instance is immutable and unaffected by this method call.

@param adjuster the adjuster to use, not null @return a {@code ZonedDateTime} based on {@code this} with the adjustment made, not null @throws DateTimeException if the adjustment cannot be made @throws ArithmeticException if numeric overflow occurs

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

Meta