Cálculo de fechas futuras en años
Uso del método plusYears()
La clase java.time.LocalDate
proporciona el método plusYears()
, que te permite sumar un número especificado de años a una fecha determinada. Este método devuelve un nuevo objeto LocalDate
que representa la fecha futura.
LocalDate currentDate = LocalDate.now();
LocalDate futureDateByYears = currentDate.plusYears(5);
System.out.println("Current date: " + currentDate);
System.out.println("Future date: " + futureDateByYears);
Salida:
Current date: 2023-04-12
Future date: 2028-04-12
Manejo de años bisiestos
Al calcular fechas futuras, es importante considerar el impacto de los años bisiestos. El método plusYears()
ajusta automáticamente la fecha para tener en cuenta los años bisiestos, asegurando que la fecha futura calculada sea precisa.
LocalDate leapYearDate = LocalDate.of(2024, 2, 29);
LocalDate futureDateByYears = leapYearDate.plusYears(4);
System.out.println("Leap year date: " + leapYearDate);
System.out.println("Future date: " + futureDateByYears);
Salida:
Leap year date: 2024-02-29
Future date: 2028-02-29
Cálculo de fechas futuras por lotes
En algunos escenarios, es posible que necesites calcular fechas futuras para varios años. Puedes lograr esto utilizando un bucle o un enfoque basado en flujos (streams).
LocalDate currentDate = LocalDate.now();
List<LocalDate> futureDates = IntStream.range(1, 6)
.mapToObj(currentDate::plusYears)
.collect(Collectors.toList());
System.out.println("Current date: " + currentDate);
System.out.println("Future dates:");
futureDates.forEach(System.out::println);
Salida:
Current date: 2023-04-12
Future dates:
2024-04-12
2025-04-12
2026-04-12
2027-04-12
2028-04-12
Al dominar las técnicas presentadas en esta sección, podrás calcular de manera efectiva fechas futuras en función de un número determinado de años en tus aplicaciones Java.