Calcul de la date suivante
Maintenant que nous pouvons récupérer la date actuelle, nous allons apprendre à calculer la date suivante en ajoutant des jours à un objet LocalDate.
Comprendre la manipulation de dates avec LocalDate
La classe LocalDate fournit plusieurs méthodes pour la manipulation de dates, notamment :
plusDays(long days): Ajoute le nombre de jours spécifié
plusWeeks(long weeks): Ajoute le nombre de semaines spécifié
plusMonths(long months): Ajoute le nombre de mois spécifié
plusYears(long years): Ajoute le nombre d'années spécifié
Il existe également des méthodes minus correspondantes pour la soustraction.
Améliorons notre code pour calculer et afficher la date suivante :
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);
}
}
Compilation et exécution du programme mis à jour
Compilons et exécutons notre programme mis à jour :
- Assurez-vous d'avoir enregistré les modifications apportées à
DateExample.java
- Dans le terminal, compilez le programme Java :
javac DateExample.java
- Exécutez le programme compilé :
java DateExample
Vous devriez voir une sortie similaire à :
Current date: 2023-04-12
Next date: 2023-04-13
Encore une fois, les dates réelles refléteront la date actuelle lorsque vous exécuterez le programme.
Exploration d'autres manipulations de dates
Améliorons davantage notre programme pour démontrer d'autres méthodes de manipulation de dates :
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);
}
}
Compilez et exécutez le programme à nouveau :
javac DateExample.java
java DateExample
La sortie affichera la date actuelle, la date suivante et les dates après une semaine, un mois et un an :
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
Concept important : Immuabilité
Notez que nous avons affecté le résultat de plusDays() à une nouvelle variable. C'est parce que les objets LocalDate sont immuables, ce qui signifie que leurs valeurs ne peuvent pas être modifiées après leur création. Les méthodes comme plusDays() ne modifient pas l'objet d'origine ; au lieu de cela, elles renvoient un nouvel objet avec la valeur mise à jour.
Cette immuabilité est une caractéristique importante qui rend les objets LocalDate thread-safe et plus prévisibles dans les applications complexes.