Bonjour,
j'essaie de faire fonctionner une méthode qui devrait, pour une Date donnée, renvoyer une ArrayList contenant 2 Dates : le lundi et le dimanche de la semaine de la Date donnée.
Donc par exemple, si on donne comme paramètre le 20 janvier 2009 (mardi), on devrait recevoir en retour le 19 janvier (lundi) et le 25 janvier (dimanche).
J'arrive uniquement à obtenir des résultats pour la semaine courante ; il semblerait que lorsque je change la Date pour qu'elle corresponde au paramètre donné, rien n'y fait.. Je reçois toujours le lundi et le dimanche de la date courante.. J'ai lu des infos qui expliquaient que les modifications de dates ne sont faites qu'à l'appel de certaines méthodes, tel que getTimeInMilliSeconds().. Et pourtant j'appelle bien cela.
Voici mon code source :
Quelqu'un peut-il m'aider ?
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 /* Returns an ArrayList with two Dates corresponding to : * - the monday of the week of the parameter * - the sunday of the week of the parameter * If the Date is null, returns null */ public static List findWeekBoundariesForDate(Date aDate){ if(aDate == null) return null; List weekBoundaries = new ArrayList(); Calendar startBoundary = Calendar.getInstance(); startBoundary.set(aDate.getYear()+1900,aDate.getMonth(),aDate.getDate()); startBoundary.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY); Calendar endBoundary = Calendar.getInstance(); endBoundary.set(aDate.getYear()+1900,aDate.getMonth(),aDate.getDate()); endBoundary.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY); Date startBoundaryDate = new Date(startBoundary.getTimeInMillis()); Date endBoundaryDate = new Date(endBoundary.getTimeInMillis()); weekBoundaries.add(startBoundaryDate); weekBoundaries.add(endBoundaryDate); return weekBoundaries; }
Merci !![]()
Partager