Calendar
Résolu/Fermé
hedii
Messages postés
39
Date d'inscription
samedi 7 janvier 2012
Statut
Membre
Dernière intervention
19 juin 2013
-
13 juin 2013 à 00:09
hedii Messages postés 39 Date d'inscription samedi 7 janvier 2012 Statut Membre Dernière intervention 19 juin 2013 - 19 juin 2013 à 13:08
hedii Messages postés 39 Date d'inscription samedi 7 janvier 2012 Statut Membre Dernière intervention 19 juin 2013 - 19 juin 2013 à 13:08
A voir également:
- Calendar
- Google calendar partagé - Guide
- Telecharger google calendar pour pc - Télécharger - Agendas & Calendriers
- I calendar - Télécharger - Organisation
- Synchroniser google calendar et outlook - Guide
- Photo calendar creator gratuit - Télécharger - Vie quotidienne
18 réponses
Hello,
Essaye ca avec des petites modifications a fair,ca te retourne ta date en String a la fin
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2001);
calendar.set(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
System.out.println(df.format(calendar.getTime()));
Essaye ca avec des petites modifications a fair,ca te retourne ta date en String a la fin
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2001);
calendar.set(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
System.out.println(df.format(calendar.getTime()));
Bonjour et merci.
j'ai pu corriger
Calendar calendar = Calendar.getInstance();
public String donneJour(int jour, int mois, int annee) {
calendar.set(Calendar.YEAR, annee);
calendar.set(Calendar.MONTH, annee);
calendar.set(Calendar.DAY_OF_MONTH, jour);
return ""+calendar.get(Calendar.DAY_OF_WEEK);
mais uk me faut cette methode en static :s comment faire ?
j'ai pu corriger
Calendar calendar = Calendar.getInstance();
public String donneJour(int jour, int mois, int annee) {
calendar.set(Calendar.YEAR, annee);
calendar.set(Calendar.MONTH, annee);
calendar.set(Calendar.DAY_OF_MONTH, jour);
return ""+calendar.get(Calendar.DAY_OF_WEEK);
mais uk me faut cette methode en static :s comment faire ?
Ah Desolé,j'ai mal interpreté ta question,j'ai cru que tu voulais retourner toute la date en String et non pas seulement le jour de la date,
Pour retourner le jour de ta date (lundi-mardi ...)
il te suffira de reajuster le code que je t'ai deja envoyé par ca ;
DateFormat df = new SimpleDateFormat("EEEEEE");
System.out.println(df.format(calendar.getTime()));
Pour retourner le jour de ta date (lundi-mardi ...)
il te suffira de reajuster le code que je t'ai deja envoyé par ca ;
DateFormat df = new SimpleDateFormat("EEEEEE");
System.out.println(df.format(calendar.getTime()));
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ta methode doit etre comme suit:
public String donneJour(int jour, int mois, int annee) {
Calendar calendar = Calendar.getInstance();
DateFormat df = new SimpleDateFormat("EEEEEEEEE");
calendar.set(Calendar.YEAR, annee);
calendar.set(Calendar.MONTH, mois);
calendar.set(Calendar.DAY_OF_MONTH, jour);
return df.format(calendar.getTime());
}
public String donneJour(int jour, int mois, int annee) {
Calendar calendar = Calendar.getInstance();
DateFormat df = new SimpleDateFormat("EEEEEEEEE");
calendar.set(Calendar.YEAR, annee);
calendar.set(Calendar.MONTH, mois);
calendar.set(Calendar.DAY_OF_MONTH, jour);
return df.format(calendar.getTime());
}
Daccord ^^. Je voulais dire en STATIC merci pour vote aide Orichimaru.
Et petite question, je dois faire cela :
Une exception qui déclare la date entrée en paramètre comme invalide :
c'est-à-dire si mois > 12 ou si le jour est incompatible avec le mois et l'année
Comment tester si le jour est incompatible ?
Et petite question, je dois faire cela :
Une exception qui déclare la date entrée en paramètre comme invalide :
c'est-à-dire si mois > 12 ou si le jour est incompatible avec le mois et l'année
Comment tester si le jour est incompatible ?
J'ai fait un
if (mois<12 && calendar.isSet(Calendar.DAY_OF_MONTH))
dans la fonction, mais la date est "set" apres le if donc comment le test pourrait se faire :s
if (mois<12 && calendar.isSet(Calendar.DAY_OF_MONTH))
dans la fonction, mais la date est "set" apres le if donc comment le test pourrait se faire :s
salut,
en fait la class calendar crée une date correcte a partir de tes données meme si les donnée en input sont incorrectes donc si par exemple tu veux creer une date a partir des données suivant Jour:30 mois:fevrier et année 2000 tu auras toujours 02-03-2000 au lieu de 30-02-2000 car la correction se fait automatiquement. donc ce que tu peux faire tout simplement c'est construire une chaine contenant l'ensemble des données en input avec le même format que le pattern defini au niveau de simpleFormat,et par la suite tu compare la date calendar et la date construite :)
en fait la class calendar crée une date correcte a partir de tes données meme si les donnée en input sont incorrectes donc si par exemple tu veux creer une date a partir des données suivant Jour:30 mois:fevrier et année 2000 tu auras toujours 02-03-2000 au lieu de 30-02-2000 car la correction se fait automatiquement. donc ce que tu peux faire tout simplement c'est construire une chaine contenant l'ensemble des données en input avec le même format que le pattern defini au niveau de simpleFormat,et par la suite tu compare la date calendar et la date construite :)
Voici le classe, le probleme c'est qu'ien lancant le main avec une bonne date cela ne renvoie rien alors quon a un return. Que faire? et commen tester si a date est valide dans le if ? mercii
public class DonneJour {
public static String donneJour(int jour, int mois, int annee) throws DonneJourException {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("EEEEEEEEE");
calendar.set(Calendar.YEAR, annee);
calendar.set(Calendar.MONTH, mois);
calendar.set(Calendar.DAY_OF_MONTH, jour);
if (mois<12) {
return ""+dateFormat.format(calendar.getTime());
}
else {
throw new DonneJourException();
}
}
public static void main(String[] args) {
Calendar calendar = new GregorianCalendar();
DonneJour j= new DonneJour();
SimpleDateFormat dateFormat = new SimpleDateFormat("EEEEEEEEE");
try {
donneJour(1,11,2013);
}
catch (DonneJourException e) {
System.out.println(e.toString());
}
}
}
public class DonneJour {
public static String donneJour(int jour, int mois, int annee) throws DonneJourException {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("EEEEEEEEE");
calendar.set(Calendar.YEAR, annee);
calendar.set(Calendar.MONTH, mois);
calendar.set(Calendar.DAY_OF_MONTH, jour);
if (mois<12) {
return ""+dateFormat.format(calendar.getTime());
}
else {
throw new DonneJourException();
}
}
public static void main(String[] args) {
Calendar calendar = new GregorianCalendar();
DonneJour j= new DonneJour();
SimpleDateFormat dateFormat = new SimpleDateFormat("EEEEEEEEE");
try {
donneJour(1,11,2013);
}
catch (DonneJourException e) {
System.out.println(e.toString());
}
}
}
hedii
Messages postés
39
Date d'inscription
samedi 7 janvier 2012
Statut
Membre
Dernière intervention
19 juin 2013
15 juin 2013 à 11:20
15 juin 2013 à 11:20
up ! toujours pas résolu svp!
hedii
Messages postés
39
Date d'inscription
samedi 7 janvier 2012
Statut
Membre
Dernière intervention
19 juin 2013
15 juin 2013 à 23:10
15 juin 2013 à 23:10
up tjs pa resolu..
hedii
Messages postés
39
Date d'inscription
samedi 7 janvier 2012
Statut
Membre
Dernière intervention
19 juin 2013
16 juin 2013 à 18:40
16 juin 2013 à 18:40
UP Svp KX ou tksteph
tksteph
Messages postés
204
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
3 janvier 2018
25
16 juin 2013 à 19:28
16 juin 2013 à 19:28
Salut!
J'avoue être un peu perdu dans tout ce qui est écris plus haut au point ou je ne sais pas à quel question répondre?
Peux-tu soit recréer le sujet soit reposer ta question à partir d'ici?
J'avoue être un peu perdu dans tout ce qui est écris plus haut au point ou je ne sais pas à quel question répondre?
Peux-tu soit recréer le sujet soit reposer ta question à partir d'ici?
hedii
Messages postés
39
Date d'inscription
samedi 7 janvier 2012
Statut
Membre
Dernière intervention
19 juin 2013
17 juin 2013 à 12:31
17 juin 2013 à 12:31
Merci tksteph ! Je cherche a tester si une date est valide, on me demander de tester si le jour est compatible avec la date (ex 31 fevrier 20xx) et si le mois est <12. Dans ce cas on donne le jour de la semaine correspondant a la date entrée. J'ai donc fait un if pour tester avec if( mois<13 && ...) je ne sais pas quoi mettre dans les ... ou autre part pour tester la validité du jour donc. Voici le programme :
public class DonneJour {
public static String donneJour(int jour, int mois, int annee) throws DonneJourException {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("EEEEEEEEE");
calendar.set(Calendar.YEAR, annee);
calendar.set(Calendar.MONTH, mois-1);
calendar.set(Calendar.DAY_OF_MONTH, jour);
if (mois<13) {
return ""+dateFormat.format(calendar.getTime());
}
else {
throw new DonneJourException();
}
}
public static void main(String[] args) {
Calendar calendar = new GregorianCalendar();
DonneJour j= new DonneJour();
SimpleDateFormat dateFormat = new SimpleDateFormat("EEEEEEEEE");
try {
donneJour(25,9,2013);
System.out.println(donneJour(25,9,2013));
}
catch (DonneJourException e) {
System.out.println(e.toString());
}
}
}
Merci encore une fois tksteph !
public class DonneJour {
public static String donneJour(int jour, int mois, int annee) throws DonneJourException {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("EEEEEEEEE");
calendar.set(Calendar.YEAR, annee);
calendar.set(Calendar.MONTH, mois-1);
calendar.set(Calendar.DAY_OF_MONTH, jour);
if (mois<13) {
return ""+dateFormat.format(calendar.getTime());
}
else {
throw new DonneJourException();
}
}
public static void main(String[] args) {
Calendar calendar = new GregorianCalendar();
DonneJour j= new DonneJour();
SimpleDateFormat dateFormat = new SimpleDateFormat("EEEEEEEEE");
try {
donneJour(25,9,2013);
System.out.println(donneJour(25,9,2013));
}
catch (DonneJourException e) {
System.out.println(e.toString());
}
}
}
Merci encore une fois tksteph !
tksteph
Messages postés
204
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
3 janvier 2018
25
17 juin 2013 à 21:52
17 juin 2013 à 21:52
Salut, si j'ai bien compris il s'agit pour toi de vérifier si une date que tu prend en paramètres est valide, conformément au jour (<32) au mois(<13) et au mois, jour, année (février, mois à 30/31 jour, années bisextiles...)
Et bien Java te permet de le faire nativement via la classe SimpleDateFormat (Que tu utilises déja)
Donc en définissant bien un format de date approprié, tu n'as plus besoin de faire de vérifications de toi même
J'ai légèrement modifié ton programme, observe la difference entre les lignes
Rque dateFormatValidity est utilisé juste pour vérifie la validité. en effet si la date entrée n'est pas valide, ton exception sera levée à ce niveau là et en conclusion ton programme ne te donnera le bon résultat que si la date en paramètes est bien valide.
J'espère que c'est bien de celà qu'il était question
Bon courage
Et bien Java te permet de le faire nativement via la classe SimpleDateFormat (Que tu utilises déja)
Donc en définissant bien un format de date approprié, tu n'as plus besoin de faire de vérifications de toi même
J'ai légèrement modifié ton programme, observe la difference entre les lignes
class DonneJour { public static String donneJour(int jour, int mois, int annee) throws DonneJourException { Calendar calendar = Calendar.getInstance(); SimpleDateFormat dateFormat = new SimpleDateFormat("EEEEEEEEE"); calendar.set(Calendar.YEAR, annee); calendar.set(Calendar.MONTH, mois - 1); calendar.set(Calendar.DAY_OF_MONTH, jour); System.out.println(); try { SimpleDateFormat dateFormatValidity = new SimpleDateFormat("yyyy/MM/dd"); dateFormatValidity.setLenient(false); String str = annee + "/" + mois + "/" + jour; dateFormatValidity.parse(str); } catch (Exception ex) { throw new DonneJourException(); } return "" + dateFormat.format(calendar.getTime()); } public static void main(String[] args) { DonneJour j = new DonneJour(); try { donneJour(29, 9, 2013); System.out.println(donneJour(25, 9, 2013)); } catch (DonneJourException e) { System.out.println(e.toString()); } } }
Rque dateFormatValidity est utilisé juste pour vérifie la validité. en effet si la date entrée n'est pas valide, ton exception sera levée à ce niveau là et en conclusion ton programme ne te donnera le bon résultat que si la date en paramètes est bien valide.
J'espère que c'est bien de celà qu'il était question
Bon courage
hedii
Messages postés
39
Date d'inscription
samedi 7 janvier 2012
Statut
Membre
Dernière intervention
19 juin 2013
19 juin 2013 à 13:08
19 juin 2013 à 13:08
merci !