Bonjour à tous,

J'ai un problème de comparaison de dates, date.equalsto(date) ou date.compareto(date), les deux ne fonctionnent pas.

J'utilise d'abord une classe holiday :

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
21
22
23
24
25
public class Holiday {
 
	private int jour;
	private int mois;
 
	public Holiday(int j, int m) {
		this.jour = j;
		this.mois = m;
	}
 
	public void setJour(int jour) {
		this.jour = jour;
	}
	public int getJour() {
		return jour;
	}
	public void setMois(int mois) {
		this.mois = mois;
	}
	public int getMois() {
		return mois;
	}
 
 
}
et une classe holidays :


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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
public class Holidays {
 
	private Holiday H1 = new Holiday(0,0);
	private Holiday H2 = new Holiday(0,4);
	private Holiday H3 = new Holiday(7,4);
	private Holiday H4 = new Holiday(13,6);
	private Holiday H5 = new Holiday(14,7);
	private Holiday H6 = new Holiday(0,10);
	private Holiday H7 = new Holiday(10,10);
	private Holiday H8 = new Holiday(24,11);
 
	private Vector Holidays = new Vector();
 
	public Holidays(Date sDate, Date eDate) {
 
		GregorianCalendar gc = new GregorianCalendar();
		gc.setTime(sDate);
		int year1 = gc.get(Calendar.YEAR);
		gc.setTime(eDate);
		int year2 = gc.get(Calendar.YEAR);
 
		for (int i = year1 ; i <= year2 ; i++ ) {
			gc.set(H1.getJour(), H1.getMois(), i);
			Holidays.addElement(gc.getTime());
			gc.set(H2.getJour(), H2.getMois(), i);
			Holidays.addElement(gc.getTime());
			gc.set(H3.getJour(), H3.getMois(), i);
			Holidays.addElement(gc.getTime());
			gc.set(H4.getJour(), H4.getMois(), i);
			Holidays.addElement(gc.getTime());
			gc.set(H5.getJour(), H5.getMois(), i);
			Holidays.addElement(gc.getTime());
			gc.set(H6.getJour(), H6.getMois(), i);
			Holidays.addElement(gc.getTime());
			gc.set(H7.getJour(), H7.getMois(), i);
			Holidays.addElement(gc.getTime());
			gc.set(H8.getJour(), H8.getMois(), i);
			Holidays.addElement(gc.getTime());
			Calendar easter = Easter.findHolyDay(i);
			gc.setTime(easter.getTime());
			Holidays.addElement(gc.getTime());
			gc.add(Calendar.DAY_OF_YEAR, 39);
			Holidays.addElement(gc.getTime());
		}
 
 
	}
 
	public boolean dateisHoliday(Date d) {
		boolean success = false;
 
		for (int i = 0 ; i < Holidays.size() ; i++) {
			if (d.compareTo(Holidays.elementAt(i)) == 0) {
				success = true;
			}
		}
 
		return success;
 
	}

Le problème vient de ma ligne : d.compareTo(Holidays.elementAt(i) dans la methose dateisHoliday(Date d).

Est-ce parce à cause de mon vector ?
Si vous avez une idée.

Merci beaucoup.