Obtenez toutes les dates du lundi dans le mois en utilisant Moment, js

Est-il possible d’obtenir toutes les DATES du lundi du mois en cours en utilisant la bibliothèque moment.js

Je sais que je peux avoir la fin du mois avec:

moment().endOf('month') 

mais comment obtenir toutes les dates du lundi de chaque mois.

Je ne veux pas de fonction dans la bibliothèque de date javascript par défaut. Veuillez vous référer au code en utilisant la bibliothèque Moment Js.

Je viens de lire docs et je n’ai trouvé aucune méthode qui retourne un tableau, vous devez donc le faire uniquement avec loop

 var monday = moment() .startOf('month') .day("Monday"); if (monday.date() > 7) monday.add(7,'d'); var month = monday.month(); while(month === monday.month()){ document.body.innerHTML += "

"+monday.toSsortingng()+"

"; monday.add(7,'d'); }

regarde ça

Mettre à jour

J’ai fait une petite chute pour cela. Ajoutez-le à votre page:

  

Et alors:

 moment().allDays(1) //=> [...] moment().firstDay(1) 

etc – n’hésitez pas à consulter la source

Old Post

Cette fonction devrait fonctionner:

 function getMondays(date) { var d = date || new Date(), month = d.getMonth(), mondays = []; d.setDate(1); // Get the first Monday in the month while (d.getDay() !== 1) { d.setDate(d.getDate() + 1); } // Get all the other Mondays in the month while (d.getMonth() === month) { mondays.push(new Date(d.getTime())); d.setDate(d.getDate() + 7); } return mondays; } 

Utilisation: getMondays() pour ce mois ou getMondays(moment().month("Feb").toDate()) pour un mois différent.

De la réponse de débordement de stack de jabclab , modifiée pour inclure le paramètre de date personnalisé.

Je sais que c’est vieux, mais c’est la première chose qui apparaît dans Google.

Vous pouvez obtenir tous les lundis du mois en utilisant le plugin moment- weekdaysinjournal.js:

 moment().weekdaysInMonth('Monday');