Comment répertorier combien de jours pendant un mois pour une année spécifique en JavaScript? P>
comme nous le savons 30 jours ont septembre, avril, juin et novembre. Tous les autres ont 31, Sauf février, Qui a 28 jours clairs, Et 29 dans chaque année bissextile. P>
J'aurais besoin de prendre le compte d'une année bissextile. Connaissez-vous une manière native de caresser ... ou peut-être une bibliothèque .. Pourriez-vous en suggérer un? P>
4 Réponses :
Essayez ceci
function daysInMonth(m, y)
{
m=m-1; //month is zero based...
return 32 - new Date(y, m, 32).getDate();
}
C'est joli nifty, mais est-il garanti de toujours travailler, dans toutes les implémentations? Vous vous demandez simplement que Stricto Senso 32 est une valeur non valide pour le champ Mois.
Cela fonctionnera trop en supposant que violon p> p> janvier = 1, février = 2 ... DEC = 12 code>
non ce n'est pas. nouvelle date (2000, 1, 0) .getDate () // 31 code> et février 2000 a 29 jours
@ROYINAMIR Vous mettez 1 code> au lieu de 2 code> Je crois que le février est le 2ème mois d'une année jsfiddle.net/efuam/2
d'accord. Parce que je sais ce mois-ci est à base de zéro si février est 1. Vous devez le mentionner dans votre réponse.
Je vais ajouter ça maintenant. Merci
Il y a probablement des moyens indigènes de la découvrir, mais je pense que c'est bien de savoir que l'algorithme de l'année saut n'est pas si difficile à mettre en œuvre par soi-même:
function isLeapYear(year) {
if (year % 400 === 0) {
return true;
} else if (year % 100 === 0) {
return false;
} else if (year % 4 === 0) {
return true;
}
return false;
}
Vous pourriez, bien sûr, écrivez simplement une fonction basée sur ce que vous savez déjà, associé à la logique pour les années de saut: divisible par 4 mais pas divisible par 100 sauf si divisible par 400 sont des années saut. p> p>