CodeGym /Blogue Java /Random-PT /Classe LocalDate Java
John Squirrels
Nível 41
San Francisco

Classe LocalDate Java

Publicado no grupo Random-PT
A classe Java LocalDate é imutável, o que significa que depois que uma instância é criada, você não pode modificá-la. LocalDate fornece muitos métodos úteis para manipular e consultar datas, como adicionar ou subtrair dias, meses ou anos, obter o dia da semana ou verificar se uma data é anterior ou posterior a outra data.

Exemplo de LocalDate

Vamos começar com um exemplo simples que cria uma instância LocalDate para a data atual e a imprime no console:
import java.time.LocalDate;

public class LocalDateExample {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        System.out.println("Today's date: " + today);
    }
}
Neste exemplo, importamos a classe LocalDate do pacote java.time e criamos uma nova instância de LocalDate chamada hoje usando o método estático now() . Este método retorna um objeto LocalDate que representa a data atual com base no relógio do sistema no fuso horário padrão. Em seguida, imprimimos a data atual no console usando o método println() do objeto System.out . A saída será semelhante a esta:

Saída

Data de hoje: 01/05/2023

Construtores LocalDate

Além do método now() , LocalDate fornece vários outros construtores que permitem criar instâncias LocalDate de diferentes fontes. Por exemplo, você pode criar um LocalDate a partir de um ano, mês e dia específicos:
import java.time.LocalDate;

public class LocalDateConstructorExample {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.of(2023, 5, 1);

        System.out.println("Date 1: " + date1);
    }
}
Este código cria uma nova instância LocalDate chamada data1 com ano 2023, mês maio (representado pelo valor 5) e dia 1. A saída será:

Saída

Data 1: 01/05/2023

Manipulação de LocalDate

Um dos recursos mais úteis do LocalDate é a capacidade de manipular datas. Por exemplo, você pode adicionar ou subtrair dias, meses ou anos usando os métodos de mais e menos :
import java.time.LocalDate;

public class LocalDateManipulationExample {
    public static void main(String[] args) {

        LocalDate date3 = LocalDate.parse("2023-05-01");
        LocalDate date4 = date3.plusDays(1);
        LocalDate date5 = date3.minusMonths(1);
        LocalDate date6 = date3.plusYears(1);

        System.out.println("Date 3: " + date3);
        System.out.println("Date 4: " + date4);
        System.out.println("Date 5: " + date5);
        System.out.println("Date 6: " + date6);
   }
}
Neste exemplo, primeiro criamos uma nova instância LocalDate chamada date3 analisando a string "2023-05-01". Em seguida, criamos três novas instâncias de LocalDate chamadas date4 , date5 e date6 adicionando ou subtraindo dias, meses ou anos de date3 . A saída será:
Data 3: 01/05/2023 Data 4: 02/05/2023 Data 5: 01/04/2023 Data 6: 01/05/2024

Comparando LocalDates

LocalDate também fornece métodos para comparar datas. Você pode verificar se duas instâncias de LocalDate são iguais ou se uma é anterior ou posterior à outra usando os métodos equals() , isBefore() e isAfter() :
import java.time.LocalDate;

public class LocalDateCompareExample {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.parse("2023-05-01");
        LocalDate date2 = LocalDate.parse("2023-05-02");

        System.out.println("Are the dates equal? " + date1.equals(date2));
        System.out.println("Is date1 before date2? " + date1.isBefore(date2));
        System.out.println("Is date2 after date1? " + date2.isAfter(date1));
    }
}
Neste exemplo, criamos duas instâncias LocalDate chamadas date1 e date2 e, em seguida, usamos os métodos equals() , isBefore() e isAfter() para compará-las. A saída estará no formato booleano, ou seja, verdadeiro ou falso :
As datas são iguais? falso A data1 é anterior à data2? verdadeiro A data2 é posterior à data1? verdadeiro

DataLocalHora

Se precisar representar uma data e hora, você pode usar a classe LocalDateTime , que é semelhante a LocalDate, mas inclui um componente de hora. LocalDateTime fornece métodos para manipular e consultar as partes de data e hora. Aqui está um exemplo de criação de uma instância LocalDateTime :
import java.time.LocalDateTime;

public class LocalDateTimeExample {
    public static void main(String[] args) {
        LocalDateTime datetime = LocalDateTime.now();
        System.out.println("Current date and time: " + datetime);
    }
}
Este código importa a classe LocalDateTime e cria uma nova instância chamada datetime usando o método now() . A saída será semelhante a esta:
Data e hora atuais: 2023-05-01T15:30:00.123456789
Nota: 'T' na saída indica o início do carimbo de data / hora.

Conclusão

A classe Java LocalDate é útil para trabalhar com datas em Java. Ele fornece muitos métodos para manipular e consultar datas, facilitando adicionar ou subtrair dias, meses ou anos, verificar se uma data é anterior ou posterior a outra data e muito mais. Se precisar trabalhar com datas e horas juntas, você pode usar a classe LocalDateTime . Sinta-se à vontade para experimentar esta aula e compartilhar seus resultados conosco! Volte a esta postagem sempre que se sentir preso. Boa codificação!
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION