6

JavaScript で特定の年の 1 か月の日数を一覧表示するにはどうすればよいですか?

ご存知のように、30 日には 9 月、4 月、6 月、11 月があります。残りはすべて 31 ですが、2 月は 28 日が晴れ、うるう年は 29 日です。

うるう年を数える必要があります。好きになるためのネイティブな方法を知っていますか..またはライブラリ..提案してもらえますか?

4

4 に答える 4

9

これを試して

function daysInMonth(m, y)

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

利用方法 :

>> daysInMonth(2,2000) //29

于 2013-07-24T13:58:08.190 に答える
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 で割り切れるが、400 で割り切れる場合を除いて 100 で割り切れない年が閏年です。

于 2013-07-24T14:20:39.240 に答える
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;
}
于 2013-07-24T14:20:24.080 に答える