Java:
Comparer deux dates
Comment faire :
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class DateComparison {
public static void main(String[] args) {
LocalDate date1 = LocalDate.of(2023, 4, 15);
LocalDate date2 = LocalDate.of(2023, 5, 20);
// Comparer en utilisant compareTo
int comparison = date1.compareTo(date2);
if(comparison > 0) {
System.out.println("Date1 est après Date2");
} else if (comparison < 0) {
System.out.println("Date1 est avant Date2");
} else {
System.out.println("Les dates sont identiques");
}
// Calculer la différence entre les deux dates
long daysBetween = ChronoUnit.DAYS.between(date1, date2);
System.out.println("Il y a " + daysBetween + " jours de différence entre les deux dates.");
}
}
Sortie d’échantillon :
Date1 est avant Date2
Il y a 35 jours de différence entre les deux dates.
Un peu plus en profondeur
Historiquement, Java utilisait Date
et Calendar
pour manipuler les dates, mais ces classes avaient des défauts de conception et d’utilisation. Depuis Java 8, le package java.time
fournit une approche immuable et plus intuitive avec des classes comme LocalDate
. Pour comparer des dates, on utilise compareTo
ou les méthodes de ChronoUnit
. Il existe aussi des méthodes comme isBefore
et isAfter
pour des vérifications plus directes. En plus, il y a equals
pour tester l’équivalance.