Crea un objeto LocalDate desde otro objeto LocalDate existente, modificando el dato que se le indica al seleccionar el método
- Realizando la modificación con un campo TemporalAdjuster. Revisar posibilidades
- LocalDate with(TemporalAdjuster adjuster)
- Realizando la modificación con un campo TemporalField.Revisar TemporalField
- LocalDate with(TemporalField field, long newValue)
- Cambiando el día de la fecha base indicando día del mes
- LocalDate withDayOfMonth(int dayOfMonth)
- Cambiando el día de la fecha base indicando día del año.
- LocalDate withDayOfYear(int dayOfYear)
- Cambiando el mes de la fecha base
- LocalDate withMonth(int month)
- Cambiando el año de la fecha base
- LocalDate withYear(int year)
En el ejemplo que viene a continuacion, podemos ver como nos basta una sola linea para cambiar la fecha. en la parte que nos interese(Dia, mes o año), dejando el resto de valores igual.
La clase es LocalDateWith.java el mi repositorio https://github.com/recursosformacion/java08/tree/main/Java08
public static void main(String[] args) {
LocalDate hoy = LocalDate.now();
System.out.println("Hoy :" + hoy);
LocalDate d10 = hoy.with(ChronoField.DAY_OF_MONTH,10);
System.out.println("d10 :" + d10);
LocalDate dlm = hoy.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("dlm :" + dlm);
LocalDate d20 = hoy.withDayOfMonth(20);
System.out.println("d20 :" + d20);
LocalDate dAny = hoy.withDayOfYear(364);
System.out.println("dAny :" + dAny);
LocalDate cambioMes = hoy.withMonth(8);
System.out.println("cambioMes :" + cambioMes);
LocalDate cambioAny = hoy.withYear(2034);
System.out.println("cambioAny :" + cambioAny);
}
Si lo ejecutais, dará como resultado:
Relacionado
Descubre más desde Recursos para formacion
Suscríbete y recibe las últimas entradas en tu correo electrónico.