Bug avec Calendar

Résolu
Yopyop1 Messages postés 3 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 30 novembre 2008 - 28 nov. 2008 à 00:00
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 - 1 déc. 2008 à 10:22
Bonsoir,

Voici la classe que j'ai faite et j'ai un petit bug :

publicclass Calendar {
privatestaticint jour;
privatestaticint mois;
privatestaticint annee;

publicvoid Saisir(){
 
System.out.println("Veuillez saisir la date du jour ");
jour = Keyboard.readInt();
mois = Keyboard.readInt();
annee = Keyboard.readInt();

}
publicstaticboolean estValide(int annee, int mois, int jour){
Calendar c = Calendar.getInstance();
c.setLenient(false);
c.set(annee,mois,jour);
try{
c.getTime();
}
catch(IllegalArgumentException iAE){
returnfalse;
}

returntrue;
}
 
privatevoid getTime(){
// TODO Auto-generated method stub

}
privatevoid set(int annee2, int mois2, int jour2){
// TODO Auto-generated method stub

}
privatevoid setLenient(boolean b){
// TODO Auto-generated method stub

}
privatestatic Calendar getInstance(){
// TODO Auto-generated method stub
returnnull;
}
/**
* @param args
*/
publicstaticvoid main(String[] args){

System.out.println(estValide(annee,mois,jour));
 
}
 
}

En fait je voudrais bien récupérer ma Date après saisie au clavier mais je n'y arrive pas avec Calendar...
Merci d'avance.

12 réponses

dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
30 nov. 2008 à 00:07
Euh...
As tu regardé le constructeur de GregorianCalendar???
Il y en a un de ce style : GregirianCalendar(int jour, int mois, int annee)
Et après, pour l'afficher, tu fais ce que je t'ai dis à savoir g.get(Calendar.DAY_OF_MONTH)...


<hr width="100%" size="2" /> C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
3
Utilisateur anonyme
30 nov. 2008 à 02:32
Salut,

dvoraky >>> Là je suis d'accord avec toi et je me doutais bien qu'il y avait une raison à ta réponse et mon message précédent n'était pas pour toi...


Yopyop1>>> tu n'as pas vu ma réponse faite sur Dev... ?

Cordialement,



...\ Dan /...
3
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
28 nov. 2008 à 09:29
Salut,

Attention, la classe Calendar est deprecated.
Elle est remplacée par GregorianCalendar qui est beaucoup plus complète (trop complète.... hum Java)

Et pour récupérer les valeurs d'une date tu fais ainsi :
GregorianCalendar g = new GregorianCalendar();

System. out
.println("Date : " + g.get(Calendar.DAY_OF_MONTH) + '/' + g.get(Calendar.MONTH) + '/' + g.get(Calendar.YEAR));Avec GregorianCalendar, tu peux aussi setter avec la date que tu veux. Regarde dans son constructeur, tu peux passer aussi une année, un mois et un jour

<hr width ="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
28 nov. 2008 à 11:22
attention que pour la valeur renvoyée pour le mois, c'est de 0 à 11... Donc le mois de janvier à comme valeur 0...
Si je ne me trompe,, lorsqu'on insere le mois, la classe GC modifie elle meme la valeur...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
28 nov. 2008 à 11:30
Oui, mais t'es pas obligé de manipuler des chiffres, il existe des objets statique dans GregorianCalendar qui permettent de tester le mois, genre GregorianCalendar.JANUARY etc...

De plus, si GregorianCalendar n'est ni plus ni moins qu'une date, un extends de Calendar, donc on peut se permettre d'y appliquer tout type de formatage pour avoir la date au format DD-MMM-YYYY
C'est relativement simple à utiliser.

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
Utilisateur anonyme
29 nov. 2008 à 09:22
Salut,

Qu'est-ce qui est "deprecated" dans Calendar ? je ne vois pas.
Dans Date oui, il y a pas mal de choses.¡! ¿?

Cordialement,

Dan

...\ Dan /...
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
29 nov. 2008 à 14:29
Ben en fait, la class ^^
0
Utilisateur anonyme
29 nov. 2008 à 18:18
oui bonjour,

Je vais rester calme et bref :

Consulter la doc >>>>>>>>>   [http://java.sun.com/javase/6/docs/api/]



...\ Dan /...
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
29 nov. 2008 à 22:47
Pardon, autant pour moi, Calendar n'est pas deprecated, désol'
C'est juste qu'on m'a appris à ne jamais utiliser cette classe directement... Passer par GregorianCalendar est pas plus mal...
Avis personnel.

Mais j'avoue mon erreur, pas de deprecated dans Calendar.


<hr width="100%" size="2" /> C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
Yopyop1 Messages postés 3 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 30 novembre 2008
29 nov. 2008 à 23:29
Merci bien à tous. J'ai donc peaufiné ma classe mais je bloque toujours quant au passage et la saisie des nombres.Car j'ai la classe Date et j'ai donc fait une méthode saisir pour que je puisse l'appeler dans d'autre classe. Je fais donc saisir à l'utilisateur un jour, un mois, une annee mais comment faire en sorte que ca m'affiche la date saisie en  utilisant la GregorianCalendar ? Merci d'avance pour votre aide. Je précise que j'utilise cette méthode car je vais devoir faire des opérations sur des dates par la suite.
0
Yopyop1 Messages postés 3 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 30 novembre 2008
30 nov. 2008 à 10:52
Bonjour,
En effet merci beaucoup j'ai trouvé et ca marche à peu près il me reste à peaufiner. Bonne journée.
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
1 déc. 2008 à 10:22
Merci danimo, je me rattraperai, promis

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
Rejoignez-nous