Bonjour
Dans un programme je compare une date à deux autres pour voir si elle est comprise entre les deux.
Et oh surprise suivant l'heure que je lui met y a un decalage
voici mon code
str sont les ligne d'un fichier que je lis que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 String startDate; String endDate; SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss"); Date sDate = sdf.parse(startDate); Date eDate = sdf.parse(endDate); String lineDate = str.substring(1,20); Date lDate = sdf.parse(lineDate); if(lDate.after(sDate) && lDate.before(eDate)){ System.out.println(str); result += str + "\n"; }
Si je met en parametre pour start date : 18-03-2008 12:59:59<17-03-2008 11:34:52><PATIO><OK><VFIX>
<18-03-2008 11:34:53><PATIO><OK><VFIX>
<18-03-2008 16:34:58><PATIO><OK><VFIX>
<18-03-2008 16:35:53><PATIO><OK><VFIX>
<18-03-2008 16:36:54><PATIO><OK><VFIX>
<18-03-2008 16:37:54><PATIO><OK><VFIX>
<18-03-2008 17:03:59><PATIO><OK><VFIX>
<18-03-2008 17:08:35><PATIO><OK><VFIX>
La deuxieme ligne est prise en compte alors que ca devrait pas.
Si je met 18-03-2008 13:00:00
La c'est pas pris en compte.
Et la je suis perdu je comprend pas pourquoi.
Partager