IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Comment déterminer si une année est bissextile ? [Fait]


Sujet :

Contribuez

  1. #1
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut Comment déterminer si une année est bissextile ?
    Après une rapide recherche, je n'ai pas trouvé si cette question a déjà été traitée.
    Du coup, voici un petit code pour savoir si une année est bissextile ou non : vous entrez l'année voulue et l'alerte affiche le nombre de jours en février de cette année :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var annee = prompt('Année ?')
    alert(new Date(annee,1,1).getMonth() == new Date(annee,1,29).getMonth() ? 29 : 28);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Simple et efficace. Merci pour cette idée.

    Ca évite de faire des calculs savants: divisible par 4 mais pas par 100, sauf 400, etc. On s'y perd vite.

    Y a plus qu'à espérer que l'objet Date de Javascript soit réellement performant à ce niveau-là.



    PS: 8000 posts tout rond pour Bovino! Félicitations!

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par vermine
    Ca évite de faire des calculs savants: divisible par 4 mais pas par 100, sauf 400, etc. On s'y perd vite.
    Oui, c'est précidément en voyant une vérification uniquement sur les années multiples de 4 que l'idée m'est venue

    Citation Envoyé par vermine
    Y a plus qu'à espérer que l'objet Date de Javascript soit réellement performant à ce niveau-là.
    J'avais un doute pour les années antérieures à 1970, mais après quelques tests, ça semble être fiable aussi !

    Citation Envoyé par vermine
    PS: 8000 posts tout rond pour Bovino! Félicitations!
    Merci (même si c'est maintenant dépassé )
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Une variante plus rapide : au lieu de vérifier si l'on a le même mois pour l'objet Date() défini au 1er et au 29 février, on peut directement tester le 0e jour de mars (soit pour l'objet Date le dernier jour de février) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var annee = prompt('Année ?')
    alert(new Date(annee,2,0).getDate());
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Que l'on peut prototyper comme ceci éventuellement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Number.prototype.isBissextile=function(){
    return (new Date(this,2,0).getDate()>=29 )
    }
    Utilisable comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var annee=2012
    alert(annee.isBissextile())
    ou en direct avec parenthèses:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert((2016).isBissextile())
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Déterminer si l'année est bissextile ou non
    Par hpalpha dans le forum Contribuez
    Réponses: 0
    Dernier message: 13/02/2011, 17h39
  2. Savoir si une année est bissextile ou non
    Par pottiez dans le forum Télécharger
    Réponses: 0
    Dernier message: 30/11/2010, 16h17
  3. Réponses: 3
    Dernier message: 13/12/2006, 14h03
  4. Comment savoir si une année est bissextile
    Par Theocourant dans le forum Contribuez
    Réponses: 3
    Dernier message: 19/09/2006, 08h10
  5. Comment savoir si une année est bisextile
    Par Theocourant dans le forum Vos contributions VB6
    Réponses: 23
    Dernier message: 03/08/2006, 10h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo