Calculando la Fecha Siguiente
Ahora que podemos recuperar la fecha actual, aprenderemos a calcular la fecha siguiente agregando días a un objeto LocalDate.
Entendiendo la Manipulación de Fechas con LocalDate
La clase LocalDate proporciona varios métodos para la manipulación de fechas, incluyendo:
plusDays(long days): Agrega el número especificado de días
plusWeeks(long weeks): Agrega el número especificado de semanas
plusMonths(long months): Agrega el número especificado de meses
plusYears(long years): Agrega el número especificado de años
También existen métodos minus correspondientes para la resta.
Mejoremos nuestro código para calcular y mostrar la fecha siguiente:
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 y Ejecutando el Programa Actualizado
Compilemos y ejecutemos nuestro programa actualizado:
- Asegúrese de haber guardado los cambios en
DateExample.java
- En la terminal, compile el programa Java:
javac DateExample.java
- Ejecute el programa compilado:
java DateExample
Debería ver una salida similar a:
Current date: 2023-04-12
Next date: 2023-04-13
Nuevamente, las fechas reales reflejarán la fecha actual cuando ejecute el programa.
Explorando Otras Manipulaciones de Fechas
Mejoremos aún más nuestro programa para demostrar otros métodos de manipulación de fechas:
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 y ejecute el programa nuevamente:
javac DateExample.java
java DateExample
La salida mostrará la fecha actual, la fecha siguiente y las fechas después de una semana, un mes y un año:
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
Concepto Importante: Inmutabilidad
Observe que asignamos el resultado de plusDays() a una nueva variable. Esto se debe a que los objetos LocalDate son inmutables, lo que significa que sus valores no se pueden cambiar después de la creación. Métodos como plusDays() no modifican el objeto original; en cambio, devuelven un nuevo objeto con el valor actualizado.
Esta inmutabilidad es una característica importante que hace que los objetos LocalDate sean seguros para subprocesos (thread-safe) y más predecibles en aplicaciones complejas.