comparer deux dates

Le
edouma
Bonjour,je suis debutant en java.
Mon probleme est que je souhaiterais comparer deux dates "jj-mm-aaaa HH:mm" la première provient d'une base de donnée et la seconde est celle de la machine locale. et j'aimerais comparer les deux dates afin de déclencher un processus dès qu'il y a un écart d'une heure.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fos Pat
Le #17325101
edouma wrote:
Mon probleme est que je souhaiterais comparer deux dates "jj-mm-aaaa
HH:mm"



date1.getTime() - date2.getTime() te donnera le nombre de millisecondes de
différence entre tes 2 dates.

Ou sinon joda time
http://joda-time.sourceforge.net/key_interval.html
Christian Laborde
Le #17325351
compareTo

public int compareTo(Date anotherDate)

Compares two Dates for ordering.

Specified by:
compareTo in interface Comparable<Date>

Parameters:
anotherDate - the Date to be compared.
Returns:
the value 0 if the argument Date is equal to this Date; a value less
than 0 if this Date is before the Date argument; and a value greater than 0 if
this Date is after the Date argument.

Fos Pat a écrit :
edouma wrote:
Mon probleme est que je souhaiterais comparer deux dates "jj-mm-aaaa
HH:mm"



date1.getTime() - date2.getTime() te donnera le nombre de millisecondes de
différence entre tes 2 dates.

Ou sinon joda time
http://joda-time.sourceforge.net/key_interval.html





--
Christian Laborde
La Révolution citoyenne, c'est sur : http://c.lab.over-blog.com/
Le forum des électrons libres : http://electrons-libres.forumactif.fr
True E-mail : remove -no-spam-
Rte de la Conversion, 20
CH 1095 Lutry
Suisse
Fos Pat
Le #17326581
Christian Laborde wrote:
compareTo
Compares two Dates for ordering.



Il veut l'écart entre les 2 dates: compareTo ne le donne pas et ne sera donc
d'aucune utilité dans ce cas.
phil89
captainpaf
Le #17395071
> Bonjour

J'utilise l"Api Bigdate
http://mindprod.com/jgloss/bigdate.html

Philippe



c'est bien compliqué tout ça, pourquoi pas simplement avec Calendar
(GregorianCalendar) ?
ToOmS
Le #17397781
On 1 oct, 21:05, captainpaf
> Bonjour

> J'utilise l"Api Bigdate
>http://mindprod.com/jgloss/bigdate.html

> Philippe

c'est bien compliqué tout ça, pourquoi pas simplement avec Calendar
(GregorianCalendar) ?



Tt à fait ; on peut mêm se contenter de comparer l'écart en minutes :
la période de 60 (qd il y a plus d'une heure d'écart, par exemple)
n'empêche pas, si je comprends bien ton problème, de savoir si un
plusieurs quarts d'heure sont passés (reste de la division par 15 ==
0).
Mayeul
Le #17398601
ToOmS a écrit :
On 1 oct, 21:05, captainpaf
Bonjour
J'utilise l"Api Bigdate
http://mindprod.com/jgloss/bigdate.html
Philippe


c'est bien compliqué tout ça, pourquoi pas simplement avec Calendar
(GregorianCalendar) ?



Tt à fait ; on peut mêm se contenter de comparer l'écart en minutes :
la période de 60 (qd il y a plus d'une heure d'écart, par exemple)
n'empêche pas, si je comprends bien ton problème, de savoir si un
plusieurs quarts d'heure sont passés (reste de la division par 15 = > 0).



La solution initiale de prendre la différence des millisecondes me
semble beaucoup plus fiable.

En effet si on cherche une différence d'une heure ou plus, les deux
dates, si elles sont efectivement plus espacées, ne sont pas dans la
même heure, genre la première entre 14h00 et 14h59 et la deuxième entre
15h00 et 15h59. Même problème avec le jour, etc.

--
Mayeul
ToOmS
Le #17399781
C'est juste... je me complique la vie... Je vais prendre mes gouttes...
Yliur
Le #17800311
captainpaf a écrit :
Bonjour

J'utilise l"Api Bigdate
http://mindprod.com/jgloss/bigdate.html

Philippe



c'est bien compliqué tout ça, pourquoi pas simplement avec Calendar
(GregorianCalendar) ?




Oui, la méthode add() de Calendar permet d'ajouter facilement une
heure à une date. Et ensuite before(), after() ou compareTo() permettent
de comparer les deux dates. C'est (un peu) plus lisible qu'utiliser
des calculs en millisecondes.
Mayeul
Le #17800601
Yliur a écrit :
captainpaf a écrit :
Bonjour

J'utilise l"Api Bigdate
http://mindprod.com/jgloss/bigdate.html

Philippe



c'est bien compliqué tout ça, pourquoi pas simplement avec Calendar
(GregorianCalendar) ?




Oui, la méthode add() de Calendar permet d'ajouter facilement une
heure à une date. Et ensuite before(), after() ou compareTo() permettent
de comparer les deux dates. C'est (un peu) plus lisible qu'utiliser
des calculs en millisecondes.




Débatable : il faut alors créer un objet Calendar à l'une des dates, lui
ajouter une heure, obtenir une date correspondante et la comparer à la
deuxième date.

Je ne suis pas sûr que ça soit plus lisible que

date2.getTime() - date1.getTime() > REQUIRED_ELAPSED_TIME


C'est aussi bien plus gourmand en ressources, donc pas forcément
souhaitable si c'est fait en masse.

--
Mayeul
Publicité
Poster une réponse
Anonyme