如何在 JavaScript 中列出特定年份的一个月有多少天?
我们知道 30 天有 9 月、4 月、6 月和 11 月。其余都有 31 天,除了 2 月有 28 天晴天,每个闰年有 29 天。
我需要计算闰年。你知道任何喜欢的本地方式..或者图书馆..你能推荐一个吗?
如何在 JavaScript 中列出特定年份的一个月有多少天?
我们知道 30 天有 9 月、4 月、6 月和 11 月。其余都有 31 天,除了 2 月有 28 天晴天,每个闰年有 29 天。
我需要计算闰年。你知道任何喜欢的本地方式..或者图书馆..你能推荐一个吗?
尝试这个
function daysInMonth(m, y)
{
m=m-1; //month is zero based...
return 32 - new Date(y, m, 32).getDate();
}
用法 :
>> daysInMonth(2,2000) //29
假设这也行得通Jan=1, Feb=2 ... Dec=12
function daysInMonth(month,year)
{
return new Date(year, month, 0).getDate();
}
当然,您可以只根据您已经知道的内容编写一个函数,并结合闰年的逻辑:
// 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 整除是闰年。
可能有本地方法可以找到,但我认为很高兴知道,闰年算法实际上并不难自己实现:
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;
}