Comment comparer des dates en ignorant l'heure
La classe java.util.Date comprend un composant temporel, ce qui peut compliquer les comparaisons entre les dates. Pour ignorer la partie horaire, envisagez les approches suivantes :
Utilisation de la bibliothèque Joda Time :
Joda Time fournit une solution pratique :
DateTime first = ...; DateTime second = ...; LocalDate firstDate = first.toLocalDate(); LocalDate secondDate = second.toLocalDate(); return firstDate.compareTo(secondDate);
Ou, pour encore plus de simplicité :
return DateTimeComparator.getDateOnlyInstance().compare(first, second);
Utilisation du calendrier (moins recommandé) :
Si Joda Time n'est pas disponible, vous pouvez créer des instances de calendrier avec la date spécifiée et le fuseau horaire et effacez manuellement les champs d'heure :
Calendar firstCalendar = Calendar.getInstance(); firstCalendar.setTime(first); firstCalendar.set(Calendar.HOUR_OF_DAY, 0); firstCalendar.set(Calendar.MINUTE, 0); firstCalendar.set(Calendar.SECOND, 0); firstCalendar.set(Calendar.MILLISECOND, 0); Calendar secondCalendar = ... // Do the same for second date return firstCalendar.compareTo(secondCalendar);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!