Close

Java Date Time - LocalDate.with() Examples

Java Date Time Java Java API 


Class:

java.time.LocalDate

java.lang.Objectjava.lang.Objectjava.time.LocalDatejava.time.LocalDatejava.time.temporal.TemporalTemporaljava.time.temporal.TemporalAdjusterTemporalAdjusterjava.time.chrono.ChronoLocalDateChronoLocalDatejava.io.SerializableSerializableLogicBig

Methods:

public LocalDate with(TemporalAdjuster adjuster)

This method returns a new LocalDate instance, with adjusted fields per provided adjuster.


public LocalDate with(TemporalField field,

long newValue)

This method returns a new LocalDate instance, with adjusted fields per provided newValue and the target field.


Examples


package com.logicbig.example.localdate;

import java.time.LocalDate;
import java.time.temporal.Temporal;
import java.time.temporal.TemporalAdjusters;

public class WithExample {


public static void main (String... args) {
LocalDate a = LocalDate.of(2000, 2, 20);
LocalDate b = a.with(TemporalAdjusters.lastDayOfMonth());
System.out.println(b);

//alternatively
Temporal t = TemporalAdjusters.lastDayOfMonth()
.adjustInto(a);
System.out.println(t);
}
}

Output

2000-02-29
2000-02-29




package com.logicbig.example.localdate;

import java.time.LocalDate;
import java.time.temporal.ChronoField;

public class WithExample2 {


public static void main (String... args) {
LocalDate a = LocalDate.of(2016, 1, 1);
System.out.printf("Original date: %s%n", a);

LocalDate b = a.with(ChronoField.DAY_OF_WEEK, 1);
System.out.printf("Ist DAY_OF_WEEK: %s%n", b);

b = a.with(ChronoField.DAY_OF_MONTH, 25);
System.out.printf("25th DAY_OF_MONTH: %s%n", b);

b = a.with(ChronoField.DAY_OF_YEAR, 100);
System.out.printf("100th DAY_OF_YEAR: %s%n", b);

b = a.with(ChronoField.EPOCH_DAY, 200);
System.out.printf("200th EPOCH_DAY: %s%n", b);

b = a.with(ChronoField.MONTH_OF_YEAR, 10);
System.out.printf("10th MONTH_OF_YEAR: %s%n", b);

b = a.with(ChronoField.PROLEPTIC_MONTH, 1000);
System.out.printf("1000th PROLEPTIC_MONTH: %s%n", b);

b = a.with(ChronoField.YEAR_OF_ERA, 500);
System.out.printf("500th YEAR_OF_ERA: %s%n", b);

b = a.with(ChronoField.YEAR, 2000);
System.out.printf("2000th YEAR: %s%n", b);

b = a.with(ChronoField.ERA, 1);
System.out.printf("1s ERA: %s%n", b);
}
}

Output

Original date: 2016-01-01
Ist DAY_OF_WEEK: 2015-12-28
25th DAY_OF_MONTH: 2016-01-25
100th DAY_OF_YEAR: 2016-04-09
200th EPOCH_DAY: 1970-07-20
10th MONTH_OF_YEAR: 2016-10-01
1000th PROLEPTIC_MONTH: 0083-05-01
500th YEAR_OF_ERA: 0500-01-01
2000th YEAR: 2000-01-01
1s ERA: 2016-01-01




See Also