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:
La solution que j'ai trouvée pour le moment est celle là:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
C'est un peu lourd...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
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?
Partager