Tester si l'annee est bissextile
douda86
-
danimo -
danimo -
Bonjour,
le probleme c'est que j'arrive pas a tester si l'annee de ma date d'entree est bissextile ou nn afin d'avoir accepter une date comme par exemple 29/02/2009 malgere que j'ai declaree une methode estBissextile()
merci pour votre aide
le probleme c'est que j'arrive pas a tester si l'annee de ma date d'entree est bissextile ou nn afin d'avoir accepter une date comme par exemple 29/02/2009 malgere que j'ai declaree une methode estBissextile()
merci pour votre aide
Configuration: Windows XP Internet Explorer 6.0
4 réponses
-
Salut,
// Tout d'abord pour info: // -savoir si une annee est bissextile String laDate = "17/11/2012"; int lAnnee; lAnnee = Integer.parseInt(laDate.substring(6)); GregorianCalendar gcal = new GregorianCalendar(); //import java.util.GregorianCalendar; boolean b = gcal.isLeapYear(lAnnee); // annee bissextile = true if (b) System.out.println("\nL'annee " + lAnnee + " est bissextile."); else System.out.println("\nL'annee " + lAnnee + " n'est pas bissextile."); // -Maintenant pour savoir si une date saisie est correcte: String laDateSaisie = "29/02/2009"; // en supposant que la date est saisie correctement // il faut fournir a GregorianCalendar les 3 parametres int p1, int p2, int p3 // dans l'ordre p1 = aa, p2 = mm et p3 = jj // par exemple int p1 = Integer.parseInt(laDateSaisie.substring(6)); int p2 = Integer.parseInt(laDateSaisie.substring(3, 5)); int p3 = Integer.parseInt(laDateSaisie.substring(0, 2)); System.out.println("\np1/p2/p3 " + p1 + "/" + p2 + "/" + p3); GregorianCalendar gc = new GregorianCalendar(p1, p2 -1, p3); // -1 car mois est une valeur 0 a 11 gc.setLenient(false); // sans cette ligne, pas d'exception possible try { // (true par defaut) int annee = gc.get(GregorianCalendar.YEAR); int num_mois = gc.get(GregorianCalendar.MONTH); int jour = gc.get(GregorianCalendar.DAY_OF_MONTH); System.out.println("jour/num_mois/annee " + jour + "/" + (num_mois +1) + "/" + annee); } catch (IllegalArgumentException iea) { System.out.println("\nLa date saisie est incorrecte"); //.... //.... }
Cordialement,
Dan -
-
Arg!
Je ne suis pas comptétent en java malheureusement!
Essayez
https://java.developpez.com/
c'est trés complet!
Utilisez le forum pour poser vos questions ^^ -
-
Salut,
import java.util.GregorianCalendar; ....... ..... // Méthode: public static void anneBisextile(int annee) { GregorianCalendar gcal = new GregorianCalendar(); boolean b = gcal.isLeapYear(annee); // si annee bissextile, b = true if (b) { // ANNEE BISSEXTILE ? System.out.println("\nOUI " + annee + " est bissextile."); } else { // ANNEE NON BISSEXTILE ? System.out.println("\nNON " + annee + " n'est pas bissextile."); } } // exemples d'appels de la méthode: int annee = 2010; // l'année doit être de type int anneBisextile(annee); annee = 2012; anneBisextile(annee);
Cordialement,
Dan
-