Calculando uma data no futuro ou passado

Java:
Calculando uma data no futuro ou passado

Como Fazer:

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class FuturoEPassado {

    public static void main(String[] args) {
        LocalDate hoje = LocalDate.now();

        // Adicionando 10 dias à data atual
        LocalDate futuro = hoje.plusDays(10);
        System.out.println("Data futura: " + futuro);

        // Subtraindo 30 anos da data atual
        LocalDate passado = hoje.minus(30, ChronoUnit.YEARS);
        System.out.println("Data passada: " + passado);
    }
}

Saída de exemplo:

Data futura: 2023-04-20
Data passada: 1993-04-10

Mergulho Profundo:

Historicamente, o cálculo de datas usava classes como java.util.Date e java.util.Calendar, que tinham problemas com design e usabilidade. Desde o Java 8, o pacote java.time, conhecido como Joda-Time, é a abordagem preferida, oferecendo API’s imutáveis e fluentes.

Alternativas incluem bibliotecas de terceiros como Joda-Time ou o Apache Commons Lang. Embora essas ainda sejam opções válidas, a API padrão java.time é robusta o suficiente para a maioria dos casos.

Detalhes de implementação envolvem entender a classe LocalDate para datas, LocalTime para horas, e LocalDateTime para ambos. Métodos como plus e minus são usados para cálculos diretos. Lembre-se dos ajustes de tempo: diferentes unidades de tempo (como ChronoUnit.DAYS) e especificidades de fuso horário se calculando timestamps.

Veja Também: