89 votes

Vérifier si l'année est bissextile en javascript

 function leapYear(year){
    var result; 
    year = parseInt(document.getElementById("isYear").value);
    if (years/400){
      result = true
    }
    else if(years/100){
      result = false
    }
    else if(years/4){
      result= true
    }
    else{
      result= false
    }
    return result
 }

Voici ce que j'ai jusqu'à présent (l'entrée est sur un from donc stocké dans "isYear"), j'ai essentiellement suivi ceci aquí Donc, en utilisant ce que j'ai déjà, comment puis-je vérifier si l'entrée est une année bissextile sur la base de ces conditions (notez que j'ai peut-être fait une erreur lors de la mise en œuvre du pseudo-code, s'il vous plaît corrigez-moi si je l'ai fait) Edit : Notez que cela doit utiliser un entier et non une fonction de date.

209voto

MMeersseman Points 2403
function leapYear(year)
{
  return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}

65voto

eugen sunic Points 2937

La fonction vérifie si le mois de février compte 29 jours. Si c'est le cas, nous avons une année bissextile.

ES5

function isLeap(year) {
  return new Date(year, 1, 29).getDate() === 29;
}

ES6

const isLeap = year => new Date(year, 1, 29).getDate() === 29;

Résultat

isLeap(1004) // true
isLeap(1001) // false

9voto

C Ye Points 71

Une solution plus rapide est fournie par Kevin P. Rice ici : https://stackoverflow.com/a/11595914/5535820 Voici donc le code :

function leapYear(year)
{
    return (year & 3) == 0 && ((year % 25) != 0 || (year & 15) == 0);
}

2voto

nwinkler Points 5889

Si vous faites cela dans une application Node.js, vous pouvez utiliser la fonction Année bissextile paquet :

npm install --save leap-year

Ensuite, à partir de votre application, utilisez le code suivant pour vérifier si l'année ou l'objet date fourni est une année bissextile :

var leapYear = require('leap-year');

leapYear(2014);
//=> false 

leapYear(2016);
//=> true 

L'utilisation d'une bibliothèque de ce type présente l'avantage de ne pas avoir à s'occuper de tous les cas particuliers, puisque la bibliothèque s'en charge.

-1voto

Brian Hayes Points 23

Vous pouvez utiliser le code suivant pour vérifier s'il s'agit d'une année bissextile :

ily = function(yr) {
    return (yr % 400) ? ((yr % 100) ? ((yr % 4) ? false : true) : false) : true;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X