Calculando a Próxima Data
Agora que podemos obter a data atual, aprenderemos como calcular a próxima data adicionando dias a um objeto LocalDate.
Compreendendo a Manipulação de Datas com LocalDate
A classe LocalDate fornece vários métodos para manipulação de datas, incluindo:
plusDays(long days): Adiciona o número especificado de dias
plusWeeks(long weeks): Adiciona o número especificado de semanas
plusMonths(long months): Adiciona o número especificado de meses
plusYears(long years): Adiciona o número especificado de anos
Existem também métodos minus correspondentes para subtração.
Vamos aprimorar nosso código para calcular e exibir a próxima data:
import java.time.LocalDate;
public class DateExample {
public static void main(String[] args) {
// Get the current date
LocalDate currentDate = LocalDate.now();
// Calculate the next date by adding one day
LocalDate nextDate = currentDate.plusDays(1);
// Display both dates
System.out.println("Current date: " + currentDate);
System.out.println("Next date: " + nextDate);
}
}
Compilando e Executando o Programa Atualizado
Vamos compilar e executar nosso programa atualizado:
- Certifique-se de ter salvo as alterações em
DateExample.java
- No terminal, compile o programa Java:
javac DateExample.java
- Execute o programa compilado:
java DateExample
Você deve ver uma saída semelhante a:
Current date: 2023-04-12
Next date: 2023-04-13
Novamente, as datas reais refletirão a data atual quando você executar o programa.
Explorando Outras Manipulações de Data
Vamos aprimorar ainda mais nosso programa para demonstrar outros métodos de manipulação de data:
import java.time.LocalDate;
public class DateExample {
public static void main(String[] args) {
// Get the current date
LocalDate currentDate = LocalDate.now();
// Calculate various future dates
LocalDate nextDate = currentDate.plusDays(1);
LocalDate nextWeek = currentDate.plusWeeks(1);
LocalDate nextMonth = currentDate.plusMonths(1);
LocalDate nextYear = currentDate.plusYears(1);
// Display all dates
System.out.println("Current date: " + currentDate);
System.out.println("Next date: " + nextDate);
System.out.println("Date after one week: " + nextWeek);
System.out.println("Date after one month: " + nextMonth);
System.out.println("Date after one year: " + nextYear);
}
}
Compile e execute o programa novamente:
javac DateExample.java
java DateExample
A saída mostrará a data atual, a próxima data e as datas após uma semana, um mês e um ano:
Current date: 2023-04-12
Next date: 2023-04-13
Date after one week: 2023-04-19
Date after one month: 2023-05-12
Date after one year: 2024-04-12
Conceito Importante: Imutabilidade
Observe que atribuímos o resultado de plusDays() a uma nova variável. Isso ocorre porque os objetos LocalDate são imutáveis, o que significa que seus valores não podem ser alterados após a criação. Métodos como plusDays() não modificam o objeto original; em vez disso, eles retornam um novo objeto com o valor atualizado.
Essa imutabilidade é um recurso importante que torna os objetos LocalDate thread-safe e mais previsíveis em aplicações complexas.