如何列出特定年份一个月的天数?

时间:2013-07-24 13:56:28

标签: javascript

如何在JavaScript中列出特定年份的一个月的天数?

我们知道 9月,4月,6月和11月30天。 其他所有人都有31人, 除了二月, 哪有28天清楚, 每个闰年都有29个。

我需要算一算闰年。 你知道任何本土的喜欢方式......或者是图书馆..你能建议吗?

4 个答案:

答案 0 :(得分:9)

试试这个

function daysInMonth(m, y)

{
  m=m-1; //month is zero based...
  return 32 - new Date(y, m, 32).getDate();
}

用法:

>> daysInMonth(2,2000) //29

答案 1 :(得分:3)

这也可以假设为Jan=1, Feb=2 ... Dec=12

function daysInMonth(month,year) 
{
   return new Date(year, month, 0).getDate();
}

FIDDLE

答案 2 :(得分:3)

当然,您可以根据您已经知道的内容编写一个函数,并结合闰年的逻辑:

// m is the month (January = 0, February = 1, ...)
// y is the year
function daysInMonth(m, y) {
    return m === 1 && (!(y % 4) && ((y % 100) || !(y % 400))) ? 29
        : [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][m];
}

可被4整除但不能被100整除的年份,除非被400整除是闰年。

答案 3 :(得分:0)

可能有本地方法可以找到,但我认为很高兴知道,闰年算法实际上并不是很难自己实现:

function isLeapYear(year) {
    if (year % 400 === 0) {
        return true;
    } else if (year % 100 === 0) {
        return false;
    } else if (year % 4 === 0) {
        return true;
    }
    return false;
}
相关问题