Voilà j'ai un soucis avec SimpleDateFormat

Voici le corps de la méthode appelé (je n'ai mis que le passage concerné par mon problème:

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
    public PT_ListTourney find(Date dateFrom, Date dateTo) {
        PT_ListTourney listTourney = new PT_ListTourney();
        PT_Tourney tourney = null;
 
        if (dateFrom.after(dateTo)) {
            Date temp = dateTo;
            dateTo = dateFrom;
            dateFrom = temp;
        }
        Calendar calFrom = Calendar.getInstance();
        Calendar calTo = Calendar.getInstance();
        calFrom.setTime(dateFrom);
        calTo.setTime(dateTo);
        calFrom.add(Calendar.DATE, -1);
        calTo.add(Calendar.DATE, 1);
        SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy");
        dateFrom = calFrom.getTime();
        dateTo = calTo.getTime();
        System.out.println("dateFrom: " + dateFrom + " dateTo: " + dateTo);
        String dFrom = sdf.format(dateFrom);
        String dTo = sdf.format(dateTo);
        dFrom = "#" + dFrom + "#";
        dTo = "#" + dTo + "#";
        System.out.println("dFrom: " + dFrom + " dTo: " + dTo);
        try {
...            }
 
        } catch (SQLException e) {
                e.printStackTrace();
        }
       return listTourney;
    }
et ci-dessous l'extrait du code de test de l'appel à cette méthode:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
        Calendar calendar = new GregorianCalendar();
        Calendar calendar2 = new GregorianCalendar();
        calendar.add(Calendar.DATE, -1);
        Date dateFrom = calendar.getTime();
        Date dateTo = calendar2.getTime();
        System.out.println("dateFrom: " + dateFrom + " dateTo: " + dateTo + "\n");
        ListTourney listTourney = pt_listTourneyF.find(dateFrom, dateTo);
        System.out.println(listTourney + "\n");
Voici le résultat de l''exécution de ce code aujourd'hui:

dateFrom: Tue Apr 20 10:05:18 CEST 2010 dateTo: Wed Apr 21 10:05:18 CEST 2010

dateFrom: Mon Apr 19 10:05:18 CEST 2010 dateTo: Thu Apr 22 10:05:18 CEST 2010
dFrom: #19/05/2010# dTo: #22/05/2010#

alors que je m'attends à recevoir :
dFrom: #19/04/2010# dTo: #22/04/2010#

J'ai l'impression d'utiliser correctement les différentes API sur les dates, et je comprends donc pas pourquoi j'ai ce décalage d'un mois dans le résultat.
Dois je utiliser SimpleDateFormat autrement ? Comment ?