salut,
Comment ontenir le nombre de jours compris entre 2 dates?
merci
salut,
Comment ontenir le nombre de jours compris entre 2 dates?
merci
La classe Date à une méthode getTime ( voir javadoc ) qui retourne le nombre de milliseconde depuis le 1er janvier 1970. la différence entre deux appels de méthode, le tout divisé par le nombre de millisecondes contenues dans une journée te donneras le nombre de jours de différence.
Voir laici !
Si tu veux le nombre de jours calendaires...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Date date1 = new Date(); Calendar calendrier1 = Calendar.getInstance(); calendrier1.setTime(date1); int jours1 = calendrier1.get(Calendar.DAY_OF_YEAR); Date date2 = new Date(); Calendar calendrier2 = Calendar.getInstance(); calendrier2.setTime(date2); int jours2 = calendrier2.get(Calendar.DAY_OF_YEAR); System.out.println(jours2-jours1);![]()
Euh, ton truc ne marche que si tu souhaites avoir la différence de jour dans la même année. Sinon, tu es bien obligé de passer par le nombre de ms :Envoyé par g_rare
Enjoy.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 double ms = calendarEnd.getTimeInMillis() - calendarBegin.getTimeInMillis(); long nbDays = Math.round(ms / (24 * 60 * 60 * 1000));
Bonjour,
Je relance ce post à cause d'un truc tout con mais la solution donnée ne marche pas
Si ont par du principe que le nb de milliseconde dans une journée varie en fonction de la date c'est pas bon :s
Une autres solution par hasard?
Enfaîte c'est bon avec un arrondi et bien passer à mettre la date de début à l'heure suivante 0:0:0:0 et l'heure sur la date de fin à 23:59:59:59 et c'est bon
Et bien penser à l'arrondi pcq l'ont perd qlq centième.
J'ai vu un -1 sur mon post précédent, pour ma défence c'est un expert java avec + de 10 ans d'xp qui ma dit de faire gaffe au timestamp le nb de millisecondes n'est pas égal d'une date à l'autre.
Partager