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

Collection et Stream Java Discussion :

Nombre d'heures entre deux dates


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 32
    Par défaut Nombre d'heures entre deux dates
    Bonjour,

    Ma question est la suivante : comment récupérer le temps (au format HH:mm:ss) entre deux dates ?

    Par exemple :
    - D1 : 2009/01/13 14:30:00
    - D2 : 2009/01/12 02:00:00

    Alors D1 - D2 nous donnerait 36:30:00

    Est-ce possible ?

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, c'est un sujet souvent traité sur le forum.

    Il suffit de récupérer le nombre de millisecondes entre les 2 dates (Date.getTime()), et ensuite une simple division par le nombre de millisecondes/heure pour avoir le nombre d'heures. Ensuite, utilise le reste pour avoir le nombre de minutes.

  3. #3
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    A noter que Java 7 va introduire une nouvelle API de date, avec la notion d'intervalle et de période. Celle-ce sera fortement inspirée de Joda Time, qui est déjà utilisable.

    Par contre, pour ton besoin, jaymz, c'est peut-être un peu lourd...

  4. #4
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 32
    Par défaut
    j'arrive à récupérer le nombre d'heures, mais pour les minutes comment faire svp?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Date d1 = stringToDate("13-01-2009 14:45:00", "dd-MM-yyyy HH:mm:ss");
    Date d2 = stringToDate("12-01-2009 02:00:00", "dd-MM-yyyy HH:mm:ss");
     
    Date d3 = new Date(d1.getTime() - d2.getTime());
    System.out.println("Hours : " + d3.getTime()/1000/60/60);

  5. #5
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    Pourquoi passes-tu par un objet Date ? Les millisecondes suffisent.

    Pour les heures, tu as fais une division entière, pour les minutes tu récupères le reste, par un soustraction ou par un modulo (%).

  6. #6
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Voila la syntaxe du modulo, ensuite tu devrais trouver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reste = nombre1 % nombre2

  7. #7
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 32
    Par défaut
    Ouais ayé c'est bon
    Le boulet je vous jure

    Sinon, p'tite question avant de mettre en Résolu : est-ce que c'est sûr à 100% de faire ce calcul soi-même ? Les objets comme Calendar ne permettent pas d'obtenir ce genre de résultat ?

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

Discussions similaires

  1. [SQL] calcul du nombre d'heure entre deux dates
    Par ahmedbj dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/03/2009, 12h10
  2. Réponses: 1
    Dernier message: 30/01/2008, 16h47
  3. [Dates] Nombre jours ouvrés entre deux dates
    Par Yali dans le forum Langage
    Réponses: 4
    Dernier message: 28/12/2005, 12h05
  4. Comptage du nombre de Samedi entre deux date
    Par lito74 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 08/12/2005, 19h01
  5. [Dates] Nombre de jours entre deux dates
    Par cmoiscrat dans le forum Langage
    Réponses: 3
    Dernier message: 22/09/2005, 15h25

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