Calendar, jouer avec les semaines
Bonjour,
voici le contexte :
j'ai une IHM contenant trois champs :
- date début
- date fin
- périodicité ( hebdo / mensuel )
Le but, c'est que je découpe ma période par semaine ou par mois ( en fonction de la périodicité, pour passer la date de début et fin de chaque semaine à une requête SQL.
ex:
période : du 19/08 au 30/08.
Il faut que j'arrive à récupérer à partir du 19/08, le dernier jour de la semaine : 23/08, et même chose à partir du 30/08 mais dans l'autre sens, premier jour de la semaine.
Afin de passer ces deux dates au BETWEEN de mon SQL .
Pour l'instant je fais comme ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Calendar cal = Calendar.getInstance();
System.out.println("--"+cal.getTime().toString()+"--");
cal.set(Calendar.DAY_OF_WEEK , cal.getFirstDayOfWeek() );
System.out.println("Semaine : "+cal.get(Calendar.WEEK_OF_YEAR));
System.out.println(cal.getTime().toString());
cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK , cal.getFirstDayOfWeek() * 7 );
System.out.println(cal.getTime().toString());
cal.set(Calendar.WEEK_OF_YEAR, cal.get(Calendar.WEEK_OF_YEAR) +1);
System.out.println("Semaine : "+cal.get(Calendar.WEEK_OF_YEAR));
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
System.out.println(cal.getTime().toString());
cal.set(Calendar.DAY_OF_WEEK , cal.getFirstDayOfWeek() * 7 );
System.out.println(cal.getTime().toString()); |
Il me reste plus qu'à mettre le tout dans une boucle et exécuter ma requête à chaque fois.
C'est la bonne méthode ou il y a plus simple?