Método compareTo do LocalDate em Java

JavaBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como usar o método compareTo() da classe LocalDate em Java. Este método é usado para comparar duas datas diferentes e retorna um valor inteiro.

Importar o pacote LocalDate

Adicione a seguinte declaração de importação no início do arquivo para importar a classe LocalDate:

import java.time.LocalDate;

Comparar Datas usando compareTo()

Nesta etapa, você comparará duas datas diferentes usando o método compareTo() e exibirá a saída com base na comparação. Adicione o seguinte código ao método main():

    // Pegar uma data
    LocalDate date1 = LocalDate.of(2021, 12, 31);
    // Exibindo a data
    System.out.println("Date 1 is : "+date1);
    // Pegar outra data
    LocalDate date2 = LocalDate.now();
    // Exibindo a data
    System.out.println("Date 2 is : "+date2);

    // Comparando duas datas usando compareTo()
    int result = date1.compareTo(date2);

    // Exibir se a data 1 é anterior, posterior ou igual à data 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");
    }

Executar o código

Salve o arquivo e execute o seguinte comando no terminal:

javac DateComparator.java && java DateComparator

Alterar as datas e comparar

Nesta etapa, você mudará as datas usadas para comparação e verá a saída. Substitua a seguinte linha no código:

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

Com qualquer outra data e execute o código novamente.

Comparar as mesmas datas

Nesta etapa, você mudará as datas usadas para comparação para que sejam as mesmas. Substitua a seguinte linha no código:

LocalDate date2 = LocalDate.now();

Com a mesma data que date1 e execute o código novamente.

Comparar a data de hoje com uma data futura

Nesta etapa, você comparará a data de hoje com uma data futura. Substitua a seguinte linha no código:

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

Com qualquer data no futuro e execute o código novamente.

Comparar a data de hoje com uma data passada

Nesta etapa, você comparará a data de hoje com uma data passada. Substitua a seguinte linha no código:

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

Com qualquer data no passado e execute o código novamente.

Usar um objeto ChronoLocalDate diferente

Nesta etapa, você usará um objeto diferente que estende de ChronoLocalDate em vez de LocalDate e comparará duas datas diferentes. Primeiro, crie uma nova classe chamada MyDate e adicione o seguinte código:

import java.time.chrono.ChronoLocalDate;

public class MyDate implements ChronoLocalDate {

  // Add implementation details for ChronoLocalDate interface
  // ...

}

Em seguida, substitua as variáveis LocalDate por variáveis MyDate e ajuste os detalhes de implementação para a classe MyDate conforme necessário. Execute o código novamente para garantir que ele ainda funcione.

Resumo

Neste laboratório, você aprendeu como comparar diferentes datas em Java usando o método compareTo() da classe LocalDate. Você também aprendeu como exibir a saída com base no resultado da comparação, bem como como modificar o código para diferentes casos de teste.