Calcular una fecha en el futuro o pasado

Java:
Calcular una fecha en el futuro o pasado

Cómo Hacerlo:

En Java, podemos usar LocalDate para calcular fechas. Un ejemplo simple sería:

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

public class CalculoFecha {
  
  public static void main(String[] args) {
    
    LocalDate hoy = LocalDate.now();
    LocalDate futuro = hoy.plusDays(10);
    LocalDate pasado = hoy.minus(1, ChronoUnit.WEEKS);

    System.out.println("Hoy: " + hoy);
    System.out.println("Futuro (10 días después): " + futuro);
    System.out.println("Pasado (1 semana antes): " + pasado);
  }
}

Ejecutando el código anterior te dará algo como esto:

Hoy: 2023-04-05
Futuro (10 días después): 2023-04-15
Pasado (1 semana antes): 2023-03-29

Análisis Profundo:

Antes de Java 8, fechas se manejaban con java.util.Date y java.util.Calendar, que eran menos intuitivas y tenían problemas de diseño. Con Java 8 llegó la API de fecha y hora java.time, mucho más robusta y fácil de usar.

Una alternativa a LocalDate es Calendar, pero no es recomendable por su complejidad y mutabilidad. Por ejemplo:

import java.util.Calendar;
 
public class CalculoConCalendar {
  
  public static void main(String[] args) {
    Calendar calendario = Calendar.getInstance();
    calendario.add(Calendar.DATE, 10);
    
    System.out.println("Futuro (10 días después): " + calendario.getTime());
  }
}

No obstante, LocalDate y su API java.time superior son la elección moderna y menos propensa a errores.

En cuanto a detalles de implementación, plus y minus son métodos inmutables que no cambian la instancia original de LocalDate; crean una nueva. Por eso, trabajar con fechas en Java ahora es más seguro y predecible.

Ver También:

Para profundizar más, puede visitar: