Bonjour,
J'ai deux date dont je veux calculer le temps ,en heurs ,entre eux:
la date est sous le format: 2011-08-02 00:00:00.0
Comment je dois procéder?
Bonjour,
J'ai deux date dont je veux calculer le temps ,en heurs ,entre eux:
la date est sous le format: 2011-08-02 00:00:00.0
Comment je dois procéder?
C'est le genre de question basique qui se trouve via Google ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part int nbHeures = ((date2.getTime() - date1.getTime()) /3600000);
Responsable Java de Developpez.com (Twitter et Facebook)
Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
--------
Architecte Solution
LinkedIn : https://www.linkedin.com/in/nicolascaudard/
Voici un exemple de possibilité :
source
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm"); try { Date deb = sdf.parse("1982/03/24 09:30"); Date fin = sdf.parse("2005/02/21 19:30"); long diff = deb.getTime() - fin.getTime(); float nbHeures = diff / 3600000.0f; } catch (ParseException ex) { }
Je te conseil de regarder la javadoc pour SimpleDateFormat.
Cordialement,
Patrick Kolodziejczyk.
Si une réponse vous a été utile pensez à![]()
Si vous avez eu la réponse à votre question, marquez votre discussion
Pensez aux FAQs et aux tutoriels et cours.
Salut,
Tu peux utiliser Calendar et GregorianCalendar.
Les imports:
La méthode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 import java.util.GregorianCalendar; import java.util.Calendar;
Utilisation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 // TEMPS ÉCOULÉ ENTRE DEUX DATES (EN HEURES) public static String diffEnHeures(String dateA, String dateB) { //Les 2 dates sont sous la forme aaaa-mm-jj int aaaaA = Integer.parseInt(dateA.substring(0, 4)); int mmA = Integer.parseInt(dateA.substring(5, 7)); int jjA = Integer.parseInt(dateA.substring(9)); int aaaaB = Integer.parseInt(dateA.substring(0, 4)); int mmB = Integer.parseInt(dateB.substring(5, 7)); int jjB = Integer.parseInt(dateB.substring(9)); Calendar dA = new GregorianCalendar(aaaaA, mmA -1, jjA); Calendar dB = new GregorianCalendar(aaaaB, mmB -1, jjB); long millisA = dA.getTimeInMillis(); long millisB = dB.getTimeInMillis(); long difMillis = millisB -millisA; String resultat = ""; long difEnHeures = difMillis / (60*60*1000); resultat = "" + difEnHeures + " heures"; return resultat; }
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 String dateDebut = "2011-08-01"; String dateFin = "2011-08-04"; String resultat = diffEnHeures(dateDebut, dateFin); System.out.println("Temps écoulé de " + dateDebut + " à " + dateFin + ": " + resultat);
Dan
L'idéal étant tout de même, rappelons-le, de ne pas reprendre ce programme.
Bonjour,
Désolé de déterrer ce vieux sujet.
J'ai un problème similaire, mais j'aimerais ressortir l'intervalle entre deux dates mais sous forme années/mois/jours.
Mais il y a les années bissextiles....
Existe t-il une méthode toue prête pour cela?
merci
Partager