Bonjour,
Je récupère la date sytème avec ses heures, minutes, secondes :
Date datesysteme = new Date();
Comment la réduire à la date du jour à 00:00:00 ?
Merci de votre aide
Bonjour,
Je récupère la date sytème avec ses heures, minutes, secondes :
Date datesysteme = new Date();
Comment la réduire à la date du jour à 00:00:00 ?
Merci de votre aide
A part la mise à zéro "manuelle", je ne vois pas...
Ceci dit, je me demande pourquoi tu veux remettre l'heure à zéro... Qui peut le plus peut le moins, si tu n'as pas besoin de l'heure ça ne te coûtera pas plus de la fournir quand même puisqu'elle est de toute façon comprise dans l'objet Date, voire ça te coûtera moins de traitement puisque tu économises la "mise à zéro" de l'heure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 datesysteme.setHours(0); datesysteme.setMinutes(0); datesysteme.setSeconds(0);Enfin, c'est toi qui sais ce que tu veux faire dans ton appli
![]()
Je prends peut être le problème à l'envers !
J'ai la date de création d'un fichier X.
Et je veux m'assurer que ce fichier n'est pas du jour.
Je pensais donc déterminé la date système à 00:00:00 pour tester les deux dates.
Je suis preneur de toutes solutions pouvant atteindre ce résultat.
Merci
Astartee ton code réalise parfaitement ce que je veux. Merci.
Seule remarque, eclipse me signale "The method setHours(int) from the type date is deprecated". Idem pour setMinutes et setSeconds.
A priori, l'aternative est à chercher de ce coté là : "Create a java.util.GregorianCalendar object and use its setters and getters instead."
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 String fichierSurveiller = "c:\\rapport.txt"; File fichierSurveiller0 = new File( fichierSurveiller ); if (fichierSurveiller0.exists()) { long dateFichierSurveiller = fichierSurveiller0.lastModified(); // date fichier à surveiller (epoch) Date datesysteme = new Date(); datesysteme.setHours(0); datesysteme.setMinutes(0); datesysteme.setSeconds(0); long datesysteme0 = datesysteme.getTime(); // date système (epoch) long ecart = datesysteme0 - dateFichierSurveiller; // ecart en millisecondes if (ecart> 0) { System.out.println(ecart + " : Date du Fichier surveiller antérieur à la date du jour"); } else { System.out.println(ecart + " : Date du Fichier surveiller postérieur à la date du jour"); } }
oui, tu utilise GregorianCalendar, car les méthodes de Date ne gèrent que la Locale "système", ce qui la rend imprécise.
Pour le traitement des date, l'api jodatime est aussi assez courrement suggérée sur ce forum, pour sa simplicité.
Si tu veux utiliser les fonctions de comparaison de la classe Date, alors comme la comparaison prend en compte l'heure (et les minutes et les secondes...) tu as effectivement raison de vouloir mettre l'heure à zéro.
Ah tiens ? Eclipse ne m'a rien dit à moi
Dans ce cas, oui, va voir du côté du Calendar, ce n'est pas beaucoup plus compliqué, et il faudra encore mettre l'heure à zéro "à la main".
Partager