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.








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.
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.
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...








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);
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 (%).
Voila la syntaxe du modulo, ensuite tu devrais trouver
Code : Sélectionner tout - Visualiser dans une fenêtre à part reste = nombre1 % nombre2








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 ?
Partager