Как лучше всего определить количество дней в месяце с помощью JavaScript? - PullRequest
94 голосов
/ 25 ноября 2008

Я пользуюсь этой функцией, но мне бы хотелось узнать, какой самый эффективный и точный способ ее получить.

function daysInMonth(iMonth, iYear) {
   return 32 - new Date(iYear, iMonth, 32).getDate();
}

Ответы [ 12 ]

0 голосов
/ 22 января 2015

Учитывая високосные годы:

function (year, month) {
    var isLeapYear = ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0);

    return [31, (isLeapYear ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
}
0 голосов
/ 07 марта 2014
function numberOfDays(iMonth, iYear) {
         var myDate = new Date(iYear, iMonth + 1, 1);  //find the fist day of next month
         var newDate = new Date(myDate - 1);  //find the last day
            return newDate.getDate();         //return # of days in this month
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...