Here you can find the source of getDaysInMonth()
Date.prototype.getDaysInMonth = function () { var m = this.getMonth() + 1, y = this.getFullYear();//w w w . j a v a2 s .com return /8|3|5|10/.test(--m) ? 30 : m == 1 ? (!(y % 4) && y % 100) || !(y % 400) ? 29 : 28 : 31; };
Date.prototype.daysInMonth = function () { return new Date(this.getFullYear(), this.getMonth() + 1, 0).getDate(); };
Date.prototype.getDaysInMonth = function () { var here = new Date(this.getTime()); here.setDate(32); return 32 - here.getDate(); };
Date.prototype.getDaysInMonth = function () { Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28; return Date.daysInMonth[this.getMonth()];
Date.prototype.getDaysInMonth = function() { return Date.getDaysInMonth(this.getFullYear(), this.getMonth()); };
Date.prototype.getDaysInMonth = function () return Date.getDaysInMonth(this.getFullYear(), this.getMonth()); };
Date.getDaysInMonth = function(year, month) { return [ 31, (Date.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ][month]; };
Date.getDaysInMonth = function (year, month) return [31, (Date.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; };
Date.prototype.getDaysInMonthOfYear = function(){ month = this.getMonth(); if(month === 1){ return this.isLeapYear()? 29:28; }else{ if(month>=8){ return month%2? 31:30; }else{ return month%2? 31:30; ...