web-dev-qa-db-ja.com

.day()はMoment.jsで間違った月の日を返します

Moment.jsを使用して文字列を解析し、日、月、年を個別に取得しています。

var date = moment("12-25-1995", "MM-DD-YYYY");
var day = date.day();        

ただし、dayは25ではなく、1です。正しいAPIメソッドは何ですか?

38
Yaron Levi

使用する正しい関数は .date() :です。

_date.date() === 25;
_

.day() は、曜日を提供します。これは、日付オブジェクトに対するjavascriptの.date()および.day()関数と同様に機能します。

月と年を取得する場合は、 .month() および .year() 関数を使用できます。

80
David Sherret

この日付の一部を取得する方法:

var date = moment("12-25-1995", "MM-DD-YYYY");

if (date.isValid()) {

    day = date.date(); 
    console.log('day ' + day);

    month = date.month() + 1;
    console.log('month ' + month);

    year = date.year(); 
    console.log('year '+ urlDateMoment.year());

} else {
    console.log('Date is not valid! ');
}
4
iLandes