JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://raw.github.com/timrwood/moment/1.7.0/min/moment.min.js"></script>
CSS
p {
padding: 3px 10px;
margin: 3px 10px;
border: 1px solid #ddd;
background: #eee;
}
JavaScript
calcWeeksInMonth(date) {
const dateFirst = moment(date).date(1)
const dateLast = moment(date).date(date.daysInMonth())
const startWeek = dateFirst.week()
const endWeek = dateLast.week()
if (endWeek < startWeek) {
return dateFirst.weeksInYear() - startWeek + 1 + endWeek
} else {
return endWeek - startWeek + 1
}
}