IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

comparaison date ?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut comparaison date ?
    Bonjour,

    j'aimerai savoir, est ce que en java je peux comparer deux dates en munite et en heure?

    si quelqu'un peut me donner un petit exemple sur comment comment faire en java la comparaison suivante : 26het12Mn<date1-date2<85h39Mn
    sachant que date2 et la date d'aujourd'hui et la date1 est une date qu'on récupère sur une base de donnée.

    le format de la date et quelque chose du genre jj/mm/année:heure Minute.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Les date servent à stocker des timestamp en java (jour + heure),

    Pour extraire les composantes heures / minutes / secondes / millième d'un Date, il faut utiliser GregorianCalendar

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    GregorianCalendar gc = new GregorianCalendar(timeZone,locale);
    gc.setTime(date);
    hour = gc.get(Calendar.HOUR);
    minute = gc.get(Calendar.MINUTE);
    ....
    Une fois les valeurs extraites, le calcul deviens simple.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut
    il y a pas une fonction java qui fait le calcul elle même, puis retourne le résultat de la comparaison?

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    non. Si tu comparait les dates complètes (et pas seulement l'heure), il aurait suffit de faire

    date1.getTime()<date2.gatTime() pour conparer les deux date. Mais comme ici tu ne veux utiliser que les heures / minutes / secondes, faut récupérer à la main les champs dont tu as besoin.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut
    salut,
    c'est toujours la même question!!!
    j'aimerai comparer deux date en heure et minute.
    cependant le problème est :
    je récupère une date, format DD/MM/RR HH24:MI:ss, sur ma base de données avec la méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    esultSet r = stm.executeQuery(myQuery);
     
    			while (r.next()) {
     
    				Timestamp d =r.getTimestamp("DATRCP");
                           SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    				String dtr = df.format(d);
    ...etc
    mais je peux pas comparer avec mon autre date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Date dateNow = new java.util.Date();
    car le type du premier et String et le type du deuxième est date.

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Par défaut
    Bonjour,

    Il faut simplement appliquer le formatteur sur la nouvelle date, pour obtenir deux chaines avec le même format:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String dateString = df.format(dateNow);

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Je déteste me répeter, mais je vais le faire:

    Citation Envoyé par tchize_ Voir le message
    Pour extraire les composantes heures / minutes / secondes / millième d'un Date, il faut utiliser GregorianCalendar

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    GregorianCalendar gc = new GregorianCalendar(timeZone,locale);
    gc.setTime(date);
    hour = gc.get(Calendar.HOUR);
    minute = gc.get(Calendar.MINUTE);
    ....
    Une fois les valeurs extraites, le calcul deviens simple.
    Voilà, comme tu vois créer un Calendar c'est pas sorcier.

    PS: Timestamp héritant de java.util.Date, ca marche aussi avec hein

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut
    merci tchize_ pou ta réponse, je sais qu'il n'est pas drôle de se répéter , mais je n'ai pas réussi à faire fonctionner GregorianCalendar avec Timestamp d = r.getTimestamp("DATRCP");

    c'est pourquoi j'ai demandé de l'aide .
    mais merci quand même

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Quel est le problème avec ce code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    GregorianCalendar gc = new GregorianCalendar(timeZone,locale);
    gc.setTime(t);

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut
    tchize_ Quel est le problème avec ce code?
    Code :


    GregorianCalendar gc = new GregorianCalendar(timeZone,locale);
    gc.setTime(t);
    mais on peut pas appliquer setTime sur Timestamp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] comparaison date varchar
    Par Greggggggg dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 18/09/2006, 17h33
  2. [VB.NET] Comparaison date
    Par Pleymo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/08/2006, 22h25
  3. [Dates] Comparaison date
    Par BenoitDenis dans le forum Langage
    Réponses: 16
    Dernier message: 29/03/2006, 13h50
  4. [VBA-E] Comparaison date / datetime
    Par dahu29 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/03/2006, 13h12
  5. [Dates] problème Comparaison dates
    Par gwen-al dans le forum Langage
    Réponses: 4
    Dernier message: 06/01/2006, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo