Hello,

Je tente de récupérer le jour suivant ouvrable pour une date donnée

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
 
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
 
public class DateTest {
 
	public static Date appendDay(Date aDate) {
 
		GregorianCalendar calendar = new GregorianCalendar();
		calendar.setTime(aDate);
 
		int offset = 1;
		int offsetSaturday = 2;
		int offsetFriday = 3;
		if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) {
			calendar.add(Calendar.DATE, offsetFriday);
		} else if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
			calendar.add(Calendar.DATE, offsetSaturday);
		} else {
			calendar.add(Calendar.DATE, offset);
		}
		return calendar.getTime();
	}
 
	public static void main (String [] args) {
		try {
			SimpleDateFormat format = new SimpleDateFormat("dd.mm.yyyy");
 
			Date d1 = format.parse("28.09.2009");
			Date d2 = appendDay(d1);
			System.out.println(format.format(d2));
		} catch (Exception ex) {
			System.out.println("Exception : " + ex);
		}
	}
}
Le problème se situe au niveau de calendar.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) qui ne donne pas une condition valide et ne retourne donc la date suivante :

29.09.2009

Comment donc récupérer le bon jour de la semaine ?