JSFiddle - React, Tailwind, and code Playground
HTML
<button id="calculateDays">calculate days</button>
JavaScript
function getDaysInMonth1(m, y) {
return m === 2 ? y & 3 || !(y % 25) && y & 15 ? 28 : 29 : 30 + (m + (m >> 3) & 1);
}
function getDaysInMonth2(m, y) {
return new Date(y, m + 1, 0).getDate();
}
$("#calculateDays").click(function () {
console.clear();
for (var y = 1; y < 4000; y++) {
for (var m = 1; m <= 12; m++) {
var d1 = getDaysInMonth1(m, y);
var d2 = getDaysInMonth2(m - 1, y);
if (d1 != d2) {
console.log("y: " + y + "m: " + m + "d1: " + d1 + " d2:" + d2);
}
}
}
console.log("done");
});