Comparaison dates en java

Résolu
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 ?

4 réponses

  1. date1.before(date2)

    date1.after(date2)
    1. 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
      1. 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
    2. Merci à touus, vous m'avez permis de résoudre mon problème !

      Merci encore et à bientôt !

      Romain_natiez