Método compareTo de LocalDate en Java

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, aprenderá a usar el método compareTo() de la clase LocalDate en Java. Este método se utiliza para comparar dos fechas diferentes y devuelve un valor entero.

Importar el paquete LocalDate

Agregue la siguiente declaración de importación al principio del archivo para importar la clase LocalDate:

import java.time.LocalDate;

Comparar fechas usando compareTo()

En este paso, comparará dos fechas diferentes usando el método compareTo() y mostrará la salida basada en la comparación. Agregue el siguiente código al método main():

    // Toma una fecha
    LocalDate date1 = LocalDate.of(2021, 12, 31);
    // Muestra la fecha
    System.out.println("Date 1 is : "+date1);
    // Toma otra fecha
    LocalDate date2 = LocalDate.now();
    // Muestra la fecha
    System.out.println("Date 2 is : "+date2);

    // Compara dos fechas usando compareTo()
    int result = date1.compareTo(date2);

    // Muestra si la fecha 1 es anterior, posterior o igual a la fecha 2
    if(result<0){
      System.out.println("Date 1 is before Date 2");
    }
    else if(result>0){
      System.out.println("Date 1 is after Date 2");
    }
    else{
      System.out.println("Both Dates are same");
    }

Ejecuta el código

Guarda el archivo y ejecuta el siguiente comando en la terminal:

javac DateComparator.java && java DateComparator

Cambia las fechas y compara

En este paso, cambiará las fechas utilizadas para la comparación y verá la salida. Reemplace la siguiente línea en el código:

LocalDate date1 = LocalDate.of(2021, 12, 31);

Con cualquier otra fecha y ejecute nuevamente el código.

Compara fechas iguales

En este paso, cambiará las fechas utilizadas para la comparación para que sean iguales. Reemplace la siguiente línea en el código:

LocalDate date2 = LocalDate.now();

Con la misma fecha que date1 y ejecute nuevamente el código.

Compara la fecha de hoy con una fecha futura

En este paso, compararás la fecha de hoy con una fecha futura. Reemplaza la siguiente línea en el código:

LocalDate date1 = LocalDate.of(2021, 12, 31);

Con cualquier fecha futura y vuelve a ejecutar el código.

Compara la fecha de hoy con una fecha pasada

En este paso, compararás la fecha de hoy con una fecha pasada. Reemplaza la siguiente línea en el código:

LocalDate date1 = LocalDate.of(2021, 12, 31);

Con cualquier fecha pasada y vuelve a ejecutar el código.

Utiliza un objeto ChronoLocalDate diferente

En este paso, utilizarás un objeto diferente que extienda de ChronoLocalDate en lugar de LocalDate y compararás dos fechas diferentes. Primero, crea una nueva clase llamada MyDate y agrega el siguiente código:

import java.time.chrono.ChronoLocalDate;

public class MyDate implements ChronoLocalDate {

  // Agrega los detalles de implementación para la interfaz ChronoLocalDate
  //...

}

Luego, reemplaza las variables LocalDate con variables MyDate y ajusta los detalles de implementación para la clase MyDate según sea necesario. Vuelve a ejecutar el código para asegurarte de que todavía funcione.

Resumen

En este laboratorio, has aprendido cómo comparar diferentes fechas en Java utilizando el método compareTo() de la clase LocalDate. También has aprendido cómo mostrar la salida basada en el resultado de la comparación, así como cómo modificar el código para diferentes casos de prueba.