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
}
C’est ce que j’ai eu jusqu’à présent (l’entrée est stockée dans "isYear"), j’ai essentiellement suivi ceci ici , donc, en utilisant ce que j’ai déjà, comment puis-je vérifier si l’entrée est une année bissextile en fonction de ces conditions (remarque: je me suis peut-être mal comporté lors de la mise en œuvre du pseudocode, corrigez-moi si j'ai). Edit: notez que ceci nécessite d'utiliser un entier, pas une date.
function leapYear(year)
{
return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}
La fonction vérifie si février a 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
let isLeap = (year) => new Date(year, 1, 29).getDate() === 29;
Résultat
isLeap(1004) // true
isLeap(1001) // false
Kevin P. Rice fournit une solution plus rapide ici: https://stackoverflow.com/a/11595914/553582 Alors, voici le code:
function leapYear(year)
{
return (year & 3) == 0 && ((year % 25) != 0 || (year & 15) == 0);
}
Si vous faites cela dans une application Node.js, vous pouvez utiliser le package bissextile :
npm install --save leap-year
Ensuite, depuis votre application, utilisez le code suivant pour vérifier si l'objet année ou date fourni est une année bissextile:
var leapYear = require('leap-year');
leapYear(2014);
//=> false
leapYear(2016);
//=> true
Utiliser une bibliothèque comme celle-ci présente l’avantage de ne pas avoir à traiter avec les détails néfastes de la résolution correcte de tous les cas spéciaux, car la bibliothèque s’occupe de cela.
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;
}