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
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
L'idéal étant tout de même, rappelons-le, de ne pas reprendre ce programme.
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
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
Salut,
Avec l'API java.time du JDK 8, tu peux utiliser LocalDate et Period pour faire ça. Tu as justement un exemple de ce que tu cherches dans le tutoriel Oracle : https://docs.oracle.com/javase/tutor...so/period.html
Tu peux regarder la FAQ également : http://java.developpez.com/faq/java?...eriode-en-Java
Pour les versions antérieures de Java, tu trouveras des méthodes similaires dans l'API externe JodaTime.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager