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.
GO TO FULL VERSION