JSFiddle - React, Tailwind, and code Playground
by TrueBlueAussie
JavaScript
// TrueBlueAussie
function getDaysInMonth(m, y) {
return (m == 2) ? (!((y % 4) || (!(y % 100) && (y % 400))) ? 29 : 28) : (m >> 3 ^ m) & 1 ? 31 : 30;
}
// James
function getDaysInMonth2(m, y) {
return /8|3|5|10/.test(--m)?30:m==1?(!(y%4)&&y%100)||!(y%400)?29:28:31;
}
// Caleb
function numberOfDays(year, month) {
var d = new Date(year, month, 0);
return d.getDate();
}
// GitaarLAB
function daysInMonth(m, y){
return(m===2?y&3||!(y%25)&&y&15?28:29:30)+(m+(m>>3)&1);
}
for (var y = 1; y <= 4000; y++) {
for (var m = 1; m <= 12; m++) {
var d = getDaysInMonth(m, y);
var e = getDaysInMonth2(m, y);
var f = numberOfDays(y, m);
var g = daysInMonth(m, y);
if (d != e)
{
console.log("e: " + e + " - m: " + m + " y: " + y);
}
if (d != f)
{
console.log("f " + f + " - m: " + m + " y: " + y);
}
if (d != g)
{
console.log("g " + g + " - m: " + m + " y: " + y);
}
}
}
console.log("Done");