Método withDayOfYear 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

En este laboratorio, aprenderemos a usar el método withDayOfYear() de la clase LocalDate de Java para crear una fecha con un nuevo valor de día del año.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/date("Date") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/FileandIOManagementGroup -.-> java/files("Files") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/output -.-> lab-117860{{"Método withDayOfYear de Java LocalDate"}} java/date -.-> lab-117860{{"Método withDayOfYear de Java LocalDate"}} java/exceptions -.-> lab-117860{{"Método withDayOfYear de Java LocalDate"}} java/files -.-> lab-117860{{"Método withDayOfYear de Java LocalDate"}} java/string_methods -.-> lab-117860{{"Método withDayOfYear de Java LocalDate"}} end

Crea un archivo Java

Crea un archivo LocalDateWithDayOfYear.java en el directorio ~/project con el siguiente código:

import java.time.LocalDate;

public class LocalDateWithDayOfYear {
    public static void main(String[] args) {
        System.out.println("Fecha original: ");
        LocalDate localDate = LocalDate.of(2002, 01, 10);
        System.out.println(localDate);
    }
}

Utiliza el siguiente comando para compilar y ejecutar el código:

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

La salida debe mostrar la fecha original:

Fecha original:
2002-01-10

Utiliza withDayOfYear() para establecer el nuevo día del año

Para crear una nueva fecha estableciendo un nuevo valor de día del año, podemos usar el método withDayOfYear() para establecer un nuevo día para la fecha.

Agrega el siguiente código después de la línea System.out.println(localDate);:

// establece el día del año como 30
localDate = localDate.withDayOfYear(30);
System.out.println("Nueva fecha con el día del año establecido como 30: ");
System.out.println(localDate);

// establece el día del año como 300
localDate = localDate.withDayOfYear(300);
System.out.println("Nueva fecha con el día del año establecido como 300: ");
System.out.println(localDate);

Utiliza el siguiente comando para compilar y ejecutar el código:

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

La salida debe mostrar las nuevas fechas con los nuevos valores de día del año:

Fecha original:
2002-01-10
Nueva fecha con el día del año establecido como 30:
2002-01-30
Nueva fecha con el día del año establecido como 300:
2002-10-27

Manejar fechas inválidas

Si la fecha resultante es inválida, se lanzará una excepción. Podemos manejar la excepción utilizando un bloque try-catch de la siguiente manera:

try {
    // establece el día del año como 366 (inválido para un año no bisiesto)
    localDate = localDate.withDayOfYear(366);
    System.out.println(localDate);
} catch (Exception e) {
    System.out.println("Fecha inválida: " + e.getMessage());
}

Utiliza el siguiente comando para compilar y ejecutar el código:

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

La salida debe mostrar el mensaje de excepción de fecha inválida:

Fecha original:
2002-01-10
Nueva fecha con el día del año establecido como 30:
2002-01-30
Nueva fecha con el día del año establecido como 300:
2002-10-27
Fecha inválida: Fecha inválida 'DayOfYear 366' ya que '2002' no es un año bisiesto

Resumen

En este laboratorio, hemos aprendido cómo usar el método withDayOfYear() de la clase LocalDate de Java para crear una fecha con un nuevo valor de día del año. También hemos aprendido cómo manejar la excepción de fecha inválida al establecer un nuevo valor de día del año.