Comparer deux dates en ignorant l'heure
Bonjour à tous,
je cherche une méthode simple pour comparer deux dates en ignorant l'heure.
J'ai une méthode existante qui utilise des méthodes dépréciées, que je voudrais réécrire:
Code:
1 2 3 4 5 6 7 8 9
| private boolean dateBeforeOrEqual(Date date, Date dateRef) {
GregorianCalendar dateCourante = new GregorianCalendar(date.getYear()+1900, date.getMonth(), date.getDate());
GregorianCalendar dateReference = new GregorianCalendar(dateRef.getYear()+1900, dateRef.getMonth(), dateRef.getDate());
if (dateCourante.before(dateReference) || dateCourante.equals(dateReference))
return true;
else
return false;
} |
La solution que j'ai trouvée pour le moment est celle là:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| private boolean dateBeforeOrEqual2(Date date, Date dateRef) {
GregorianCalendar dateCourante = new GregorianCalendar();
dateCourante.setTime(date);
dateCourante.set(Calendar.HOUR_OF_DAY, 0);
dateCourante.set(Calendar.MINUTE, 0);
dateCourante.set(Calendar.SECOND, 0);
dateCourante.set(Calendar.MILLISECOND, 0);
GregorianCalendar dateReference = new GregorianCalendar();
dateReference.setTime(dateRef);
dateReference.set(Calendar.HOUR_OF_DAY, 0);
dateReference.set(Calendar.MINUTE, 0);
dateReference.set(Calendar.SECOND, 0);
dateReference.set(Calendar.MILLISECOND, 0);
if (dateCourante.before(dateReference) || dateCourante.equals(dateReference))
return true;
else
return false;
} |
C'est un peu lourd...
Est-ce que vous voyez un meilleur moyen de réécrire cette méthode sans utiliser les méthodes dépréciées de la classe Date?