Close

Java Date Time - ZonedDateTime.with() Examples

Java Date Time Java Java API 


Class:

java.time.ZonedDateTime

java.lang.Objectjava.lang.Objectjava.time.ZonedDateTimejava.time.ZonedDateTimejava.time.temporal.TemporalTemporaljava.time.chrono.ChronoZonedDateTimeChronoZonedDateTimejava.io.SerializableSerializableLogicBig

Methods:

public ZonedDateTime with(TemporalAdjuster adjuster)

Returns an adjusted copy of this ZonedDateTime. The adjustment logic is provided by the 'adjuster'.


public OffsetDateTime with(TemporalField field,  long newValue)

Returns a copy of this ZonedDateTime with the specified 'field' set to a newValue.

Examples


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]




See Also