Bonjour
savez vous comment on peut recuperer le dernier jour en fonction soit d'un mois, soit d'une année, soit des 2 parametres
merci d'avance
Version imprimable
Bonjour
savez vous comment on peut recuperer le dernier jour en fonction soit d'un mois, soit d'une année, soit des 2 parametres
merci d'avance
Slt,
Tu as la classe Calendar ou GregorianCalendar qui te permet de faire ce que tu veux.
oui j'ai vu mais j'ai parcouru internet pour cela et je ne trouve de rien correspondant à ce que je souhaite faire
T'as pas bien cherché !
:fessee:
icihttp://www.zdo.com/articles/cal-java-calendar.php
Code:int l = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
Bonjour,
Comment peut-on utiliser cette fonction en précisant le mois ?
Je m'explique. Si month=juin et year=2006 (saisis dans un formulaire), j'ai besoin de récupérer les 2 dates suivantes :
- 31/05/2006
- 30/06/2006
Je ne m'en sors pas !! J'ai essayé :
Avec un system.out j'obtiens :Code:
1
2
3
4
5 Calendar calendar = Calendar.getInstance(); int m = calendar.get(calendar.MONTH); int dateFrom = calendar.getActualMaximum(m-1); int dateTo = calendar.getActualMaximum(m);
dateFrom=365
dateTo=7 .................
Quelqu'un peut-il m'aider svp ?
D'avance merci !
La valeur que tu veux mettre dans getActualMaximum ne dois pas etre un numero de mois mais doit correspondre aux valeurs des champs constants comme celaCode:calendar.getActualMaximum(Calendar.JANUARY)
Merci bcp ellene!
Et est-ce qu'il y a un autre moyen qu'un switch/case pour récupérer le nom du mois en fonction du numéro (1-> JANUARY, 2 -> FEBRUARY etc) ?
PAr contre,
me donneCode:System.out.println("dernier jour JANVIER="+calendar.getActualMaximum(Calendar.JANUARY));
dernier jour JANVIER=1
...
:oops: Excuse moi,
Ce n'est pas
que j'aurai du écrire mais plutôtCode:calendar.getActualMaximum(Calendar.JANUARY)
ça te donnera le résultat que tu souhaites. Ensuite si tu veux changer de mois il suffit de faire comme dans le FAQ.Code:calendar.getActualMaximum(Calendar.DAY_OF_MONTH)
A part le switch, je ne connais pas d'autre moyen.Citation:
Et est-ce qu'il y a un autre moyen qu'un switch/case pour récupérer le nom du mois en fonction du numéro (1-> JANUARY, 2 -> FEBRUARY etc) ?
Meme avec la FAQ Java, je m'en sors pas...
Avec ce code:
J'obtiens :Code:
1
2
3
4
5
6 int lastDayJuillet=calendar.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println("lastDay "+calendar.get(Calendar.MONTH)+"="+lastDayJuillet); calendar.add (Calendar.MONTH, -1); int lastDayJuin=calendar.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println("lastDay "+calendar.get(Calendar.MONTH)+"="+lastDayJuin);
lastDay 7=31
lastDay 6=31
Or en juin il y a 30 jours ... Je me demande si je ne vais pas écrire la fonction à la main :( Mais pour février c'est galère..
Ou alors je vais conserver la fonction en javascript, tant pis :-(
En tout cas, merci bcp Ellene et merci à tous
Attention, les numéro de mois commencent à 0, donc aout = 7 et juillet = 6 ! Et Juillet et Aout ont 31 jours...! ;)Citation:
Envoyé par babylone7
Mais quelle idiote !! En effet, il m'affiche bien month=7 en ce moment !!! Et comme j'ai commencé mon dev en juillet, jai zappé qu'on était maintenant en aout !!!
Ah la la........
Merci Tangi29 !!
Bonjour,
Avec ce code, tout semble fonctionner
Résultat:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Calendar calendar = GregorianCalendar.getInstance(); calendar.set(Calendar.MONTH, Calendar.AUGUST); int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println("August lastDay "+calendar.get(Calendar.MONTH)+"="+lastDay); calendar.set(Calendar.MONTH, Calendar.JULY); lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println("July lastDay "+calendar.get(Calendar.MONTH)+"="+lastDay); calendar.add (Calendar.MONTH, -1); lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println("June lastDay "+calendar.get(Calendar.MONTH)+"="+lastDay); calendar.add (Calendar.MONTH, -1); lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println("Mai lastDay "+calendar.get(Calendar.MONTH)+"="+lastDay); System.out.println("Code for the month January " + calendar.JANUARY); }
Attention avec la classe Calendar, le mois de janvier possède la valeur 0.Code:
1
2
3
4
5 August lastDay 7=31 July lastDay 6=31 June lastDay 5=30 Mai lastDay 4=31 Code for the month January 0
Merci à tous !
C'est quand meme pas facile quand on développe de se dire que 30/5/2006 c'est le 30 juin :D
Allez courage !
Merci !!
;)
Il existe une classe, pour ne pas la nommer SimpleDateFormat, qui est prévu pour formater des dates.