Introducción
El método withYear() de la clase LocalDate de Java se utiliza para obtener una nueva fecha con el año especificado. Devuelve una copia de la instancia actual de LocalDate con el año cambiado al valor especificado. Esta práctica te guiará paso a paso en el uso del método withYear().
Crea un archivo Java
Abre la terminal y crea un archivo Java con el comando touch.
touch ~/project/WithYearExample.java
Esto crea un archivo Java llamado WithYearExample.java en el directorio ~/project/.
Importa los paquetes necesarios
Un paquete es un espacio de nombres que organiza un conjunto de clases e interfaces relacionadas. Para usar la clase LocalDate, tenemos que importar el paquete java.time.LocalDate. Agrega el siguiente código al archivo WithYearExample.java.
import java.time.LocalDate;
Crea una instancia de LocalDate
En este paso, crearemos una instancia de la clase LocalDate utilizando el método of(). El método of() toma tres argumentos: el año, el mes y el día. Agrega el siguiente código debajo de la declaración de importación.
LocalDate date = LocalDate.of(2022, 1, 15);
System.out.println("Initial Date: " + date);
Aquí, establecemos la fecha como 15 de enero de 2022.
Cambia el año usando withYear()
En este paso, usaremos el método withYear() para cambiar el año de la instancia de LocalDate. Agrega el siguiente código debajo del paso 3.
LocalDate newDate = date.withYear(2030); // Establece el año como 2030
System.out.println("New Date: " + newDate);
Aquí, creamos una nueva variable newDate y establecemos el año en 2030 usando el método withYear().
Manejar un día del mes no válido
Si la instancia actual de LocalDate tiene un día del mes que no es válido para el nuevo año, entonces el método withYear() ajusta el valor del día del mes al último día válido del mes. Agrega el siguiente código debajo del paso 4.
LocalDate dateWithInvalidDayOfMonth = LocalDate.of(2021, 2, 31);
LocalDate newDateWithAdjustedDayOfMonth = dateWithInvalidDayOfMonth.withYear(2022);
System.out.println("Old Date: " + dateWithInvalidDayOfMonth + "\nNew Date: " + newDateWithAdjustedDayOfMonth);
Aquí, establecemos una fecha con un día del mes no válido, el 31 de febrero de 2021 que no existe. Luego aplicamos el método withYear() para cambiar el año a 2022. Dado que 2022 no es un año bisiesto y febrero tiene solo 28 días, el día del mes se ajusta a 28, que es el último día válido de febrero.
Compila y ejecuta el programa
Para compilar y ejecutar el programa, navega hasta el directorio del proyecto y ejecuta el siguiente comando.
javac WithYearExample.java && java WithYearExample
La salida del programa después de ejecutar el comando anterior debería ser:
Initial Date: 2022-01-15
New Date: 2030-01-15
Old Date: 2021-02-31
New Date: 2022-02-28
Resumen
En este laboratorio, aprendimos cómo usar el método withYear() de la clase LocalDate en Java para obtener una fecha con el año especificado. También aprendimos cómo manejar un día del mes no válido cuando se utiliza el método withYear(). Siguiendo estos pasos, ahora deberías poder usar el método withYear() para trabajar efectivamente con instancias de LocalDate en tus programas Java.



