Maison >Java >javaDidacticiel >Comment comparer les dates en Java hors heure ?

Comment comparer les dates en Java hors heure ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-09 08:16:02694parcourir

How to Compare Dates in Java Excluding Time?

Comparaison de dates hors heure : une exploration utilisant Joda Time

En Java, l'objet java.util.Date représente à la fois la date et l'heure. Lors de la comparaison de dates, il est souvent souhaitable d'ignorer la partie heure et de se concentrer uniquement sur la date elle-même.

Joda Time : une solution simplifiée

Joda Time, une bibliothèque renommée pour les calculs temporels, offre une solution élégante. Il fournit la méthode toLocalDate(), qui extrait les informations de date d'un objet DateTime, en ignorant les attributs d'heure.

DateTime first = ...;
DateTime second = ...;

LocalDate firstDate = first.toLocalDate();
LocalDate secondDate = second.toLocalDate();

return firstDate.compareTo(secondDate);

Vous pouvez également utiliser la méthode DateTimeComparator.getDateOnlyInstance(), qui simplifie le processus de comparaison :

return DateTimeComparator.getDateOnlyInstance().compare(first, second);

API intégrée Alternative

Si Joda Time n'est pas une option, vous pouvez ajuster manuellement une instance de calendrier pour représenter uniquement la date, en éliminant les champs heure, minute, seconde et milliseconde.

Calendar firstCalendar = Calendar.getInstance();
Calendar secondCalendar = Calendar.getInstance();

firstCalendar.set(Calendar.HOUR_OF_DAY, 0);
firstCalendar.set(Calendar.MINUTE, 0);
firstCalendar.set(Calendar.SECOND, 0);
firstCalendar.set(Calendar.MILLISECOND, 0);

secondCalendar.set(Calendar.HOUR_OF_DAY, 0);
secondCalendar.set(Calendar.MINUTE, 0);
secondCalendar.set(Calendar.SECOND, 0);
secondCalendar.set(Calendar.MILLISECOND, 0);

return firstCalendar.compareTo(secondCalendar);

Notez cependant que cette méthode est plus lourde et moins robuste que l'approche Joda Time.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn