Je me suis d�j� cass� la t�te longtemps sur un probl�me de ce genre ...

Suivant la localisation de ta machine, le calcul de Java prend en compte les 
changements d'heures �t�/hiver.

En incluant avril, tu perds une heure dans le temps total s�parant les deux jours (il 
y a une journ�e de 23 heures dans l'intervalle). 

Si tu fais ensuite une division enti�re du nombre d'heures par 24 pour avoir un nombre 
de jours, tu perds une journ�e dans le calcul.

La solution est donc de faire une division en virgule flottante puis d'arrondir le 
r�sultat � l'entier le plus proche.


Laurent.

>Messsage du 07/03/2002 12:02
>De :  <[EMAIL PROTECTED]>
>A :  <[EMAIL PROTECTED]>
>Copie � : 
>Objet : Re:     R�f. : Re: Nombre de jours entre deux     dates  
>
> 
> Je suis en train de faire des tests de comparaison entre cette m�thode et une 
> autre bas�e sur les calendars. Je viens de constater que si avec cette 
> m�thode on fait la diff�rence entre aujourd'hui et le 30 avril on a un jour 
> de d�calage par contre avec le 30 mars, c'est ok, je ne sais pas trop 
> pourquoi et je suis en train de regarder. Si quelqu'un peut m'�clairer, je 
> suis preneur
> 
> Seb
> 
> 
> 
> 
> Le Jeudi 7 Mars 2002 09:17, vous avez �crit :
> > Je te remercie.
> >
> > Pour info, mes dates sont des dates avec heures, minutes et secondes � 0.
> >
> > Eddy.
> >
> >
> >
> >
> >
> > Sebastien Cesbron <[EMAIL PROTECTED]>
> > 07/03/02 11:07
> > Veuillez r�pondre � java
> >
> >
> >         Pour :  [EMAIL PROTECTED]
> >         cc :
> >         Objet : Re: Nombre de jours entre deux dates
> >
> >
> > Il faut que tu passes par des calendriers pour supprimer les heures,
> > minutes
> > secondes et millisecondes :
> >
> > Calendar cal1 = Calendar.getInstance();
> > Calendar cal2 = Calendar.getInstance();
> >
> > cal1.setTime(date1);
> > cal2.setTime(date2);
> > cal1.set(Calendar.HOUR_OF_DAY,0);
> > cal1.set(Calendar.MINUTE,0);
> > cal1.set(Calendar.SECOND,0);
> > cal1.set(Calendar.MILLISECOND,0);
> > cal2.set(Calendar.HOUR_OF_DAY,0);
> > cal2.set(Calendar.MINUTE,0);
> > cal2.set(Calendar.SECOND,0);
> > cal2.set(Calendar.MILLISECOND,0);
> >
> > return ((cal1.getTime().getTime() - cal2.getTime().getTime()) /
> > (24*60*60*1000));
> >
> > > Bonjour,
> > >
> > > Pour conna�tre le nombre de jours entre deux dates, je proc�de de la
> > > mani�re suivante :
> > >
> > > (date1.getTime() - date2.getTime()) / (24*60*60*1000)
> > >
> > > Avez-vous une autre m�thode ?
> > >
> > > Merci par avance.
> > >
> > > Eddy PALISSE
> >
> > ___________________________________________________________________________
> >___ ifrance.com, l'email gratuit le plus complet de l'Internet !
> > vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> > http://www.ifrance.com/_reloc/email.emailif
>  
> ______________________________________________________________________________
> ifrance.com, l'email gratuit le plus complet de l'Internet !
> vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> http://www.ifrance.com/_reloc/email.emailif
> 
> 
> 

Répondre à