Returns an adjusted copy of this ZonedDateTime. The adjustment logic is provided by the 'adjuster'.
Returns a copy of this ZonedDateTime with the specified 'field' set to a newValue.
package com.logicbig.example.zoneddatetime;
import java.time.ZonedDateTime;
import java.time.temporal.TemporalAdjusters;
public class WithExample {
public static void main(String... args) {
ZonedDateTime d = ZonedDateTime.now();
System.out.println(d);
ZonedDateTime d2 = d.with(TemporalAdjusters.firstDayOfMonth());
System.out.println(d2);
ZonedDateTime d3 = d.with(TemporalAdjusters.firstDayOfNextMonth());
System.out.println(d3);
ZonedDateTime d4 = d.with(TemporalAdjusters.lastDayOfYear());
System.out.println(d4);
ZonedDateTime d5 = d.with(TemporalAdjusters.firstDayOfNextYear());
System.out.println(d5);
ZonedDateTime d6 = d.with(TemporalAdjusters.lastDayOfMonth());
System.out.println(d6);
ZonedDateTime d7 = d.with(TemporalAdjusters.firstDayOfYear());
System.out.println(d7);
}
}
Output
2017-05-01T16:00:17.883-05:00[America/Chicago]
2017-05-01T16:00:17.883-05:00[America/Chicago]
2017-06-01T16:00:17.883-05:00[America/Chicago]
2017-12-31T16:00:17.883-06:00[America/Chicago]
2018-01-01T16:00:17.883-06:00[America/Chicago]
2017-05-31T16:00:17.883-05:00[America/Chicago]
2017-01-01T16:00:17.883-06:00[America/Chicago]
package com.logicbig.example.zoneddatetime;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
public class WithExample2 {
public static void main(String... args) {
ZonedDateTime d = ZonedDateTime.now();
System.out.println(d);
for (ChronoField chronoField : ChronoField.values()) {
with(d, chronoField);
}
}
private static void with(ZonedDateTime d, ChronoField chronoField) {
ZonedDateTime d2 = d.with(chronoField, 1);
System.out.printf("%28s => %s%n", chronoField.name(), d2);
}
}
Output
2017-05-01T16:00:20.020-05:00[America/Chicago]
NANO_OF_SECOND => 2017-05-01T16:00:20.000000001-05:00[America/Chicago]
NANO_OF_DAY => 2017-05-01T00:00:00.000000001-05:00[America/Chicago]
MICRO_OF_SECOND => 2017-05-01T16:00:20.000001-05:00[America/Chicago]
MICRO_OF_DAY => 2017-05-01T00:00:00.000001-05:00[America/Chicago]
MILLI_OF_SECOND => 2017-05-01T16:00:20.001-05:00[America/Chicago]
MILLI_OF_DAY => 2017-05-01T00:00:00.001-05:00[America/Chicago]
SECOND_OF_MINUTE => 2017-05-01T16:00:01.020-05:00[America/Chicago]
SECOND_OF_DAY => 2017-05-01T00:00:01.020-05:00[America/Chicago]
MINUTE_OF_HOUR => 2017-05-01T16:01:20.020-05:00[America/Chicago]
MINUTE_OF_DAY => 2017-05-01T00:01:20.020-05:00[America/Chicago]
HOUR_OF_AMPM => 2017-05-01T13:00:20.020-05:00[America/Chicago]
CLOCK_HOUR_OF_AMPM => 2017-05-01T13:00:20.020-05:00[America/Chicago]
HOUR_OF_DAY => 2017-05-01T01:00:20.020-05:00[America/Chicago]
CLOCK_HOUR_OF_DAY => 2017-05-01T01:00:20.020-05:00[America/Chicago]
AMPM_OF_DAY => 2017-05-01T16:00:20.020-05:00[America/Chicago]
DAY_OF_WEEK => 2017-05-01T16:00:20.020-05:00[America/Chicago]
ALIGNED_DAY_OF_WEEK_IN_MONTH => 2017-05-01T16:00:20.020-05:00[America/Chicago]
ALIGNED_DAY_OF_WEEK_IN_YEAR => 2017-04-30T16:00:20.020-05:00[America/Chicago]
DAY_OF_MONTH => 2017-05-01T16:00:20.020-05:00[America/Chicago]
DAY_OF_YEAR => 2017-01-01T16:00:20.020-06:00[America/Chicago]
EPOCH_DAY => 1970-01-02T16:00:20.020-06:00[America/Chicago]
ALIGNED_WEEK_OF_MONTH => 2017-05-01T16:00:20.020-05:00[America/Chicago]
ALIGNED_WEEK_OF_YEAR => 2017-01-02T16:00:20.020-06:00[America/Chicago]
MONTH_OF_YEAR => 2017-01-01T16:00:20.020-06:00[America/Chicago]
PROLEPTIC_MONTH => 0000-02-01T16:00:20.020-05:50:36[America/Chicago]
YEAR_OF_ERA => 0001-05-01T16:00:20.020-05:50:36[America/Chicago]
YEAR => 0001-05-01T16:00:20.020-05:50:36[America/Chicago]
ERA => 2017-05-01T16:00:20.020-05:00[America/Chicago]
INSTANT_SECONDS => 1969-12-31T18:00:01.020-06:00[America/Chicago]
OFFSET_SECONDS => 2017-05-01T16:00:20.020-05:00[America/Chicago]