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-29Aná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:
- Documentación oficial de
LocalDate: https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html - Tutorial de Oracle sobre la fecha y hora en Java: https://docs.oracle.com/javase/tutorial/datetime/
- Ejemplos y usos de
java.timeen Baeldung: https://www.baeldung.com/java-8-date-time-intro