Comparaison dates en java

Résolu
romain_natiez Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   -  
 Manu -
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

javaman
 
date1.before(date2)

date1.after(date2)
57
sergecool
 
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
Manu
 
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
forfun
 
c'est plutôt

if (date1.after(date2))
7
romain_natiez Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   31
 
Merci à touus, vous m'avez permis de résoudre mon problème !

Merci encore et à bientôt !

Romain_natiez
3