Método withYear de Java LocalDate

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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().


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("Packages / API") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/date("Date") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") java/SystemandDataProcessingGroup -.-> java/object_methods("Object Methods") java/SystemandDataProcessingGroup -.-> java/system_methods("System Methods") subgraph Lab Skills java/output -.-> lab-117864{{"Método withYear de Java LocalDate"}} java/classes_objects -.-> lab-117864{{"Método withYear de Java LocalDate"}} java/packages_api -.-> lab-117864{{"Método withYear de Java LocalDate"}} java/date -.-> lab-117864{{"Método withYear de Java LocalDate"}} java/files -.-> lab-117864{{"Método withYear de Java LocalDate"}} java/create_write_files -.-> lab-117864{{"Método withYear de Java LocalDate"}} java/working -.-> lab-117864{{"Método withYear de Java LocalDate"}} java/object_methods -.-> lab-117864{{"Método withYear de Java LocalDate"}} java/system_methods -.-> lab-117864{{"Método withYear de Java LocalDate"}} end

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().

Maneja el 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.