Comparaison dates en java

Résolu/Fermé
romain_natiez Messages postés 179 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 22 février 2006 - 18 janv. 2005 à 09:49
 Manu - 30 sept. 2011 à 11:28
Bonjour à tous!
Peut on en java écrire une expression du type

if (date1 > date2) {
traitement1
}

Si on ne peut pas faire comme ceci, avez vous une alternative ou un conseil ?
A voir également:

4 réponses

date1.before(date2)

date1.after(date2)
57
slut à tous
Je prose une solution qui ma fois est meilleur car elle est deja implementé par
java, il suffit de l'utiliser!!

la methode compareTo est une methode de presque tous les objets, donc je ne cree rien du tout

if (date1.compareTo(date2 ) == -1) {
// traitement du cas date1 < date2
}

if (date1.compareTo(date2 ) == 0) {
// traitement du cas date1 = date2
}

if (date1.compareTo(date2 ) == 1) {
// traitement du cas date1 > date2
}

explication
la syntaxe date1.compareTo(date2 )

est semblable à l'expression mathematique date1 - date2 qui returne
** un nombre negatil (-1 pour java) si date1<date2
** un nombre positif (1 pour java) si date1>date2
** zero si date1=date2

enjoye your pleasure
14
Salut,

Les fonctions after et before sont des fonctions natives java, donc pas de pb pour les utiliser (c'est surtout bcp plus facile de lire le code). Ensuite je conseillerais plutôt de faire des comparaisons par rapport à 0, cf la javadoc :
Returns:
the value 0 if the argument Date is equal to this Date; a value less than 0 if this Date is before the Date argument; and a value greater than 0 if this Date is after the Date argument

Ce qui nous donnerais :

if (date1.compareTo(date2 ) < 0) {
// traitement du cas date1 < date2
}

if (date1.compareTo(date2 ) == 0) {
// traitement du cas date1 = date2
}

if (date1.compareTo(date2 ) > 0) {
// traitement du cas date1 > date2
}

Bon courage
0
c'est plutôt

if (date1.after(date2))
7
romain_natiez Messages postés 179 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 22 février 2006 31
18 janv. 2005 à 11:00
Merci à touus, vous m'avez permis de résoudre mon problème !

Merci encore et à bientôt !

Romain_natiez
3