Javascript .day()使用矩.js返回错误的月份日期

Javascript .day()使用矩.js返回错误的月份日期,javascript,datetime,momentjs,Javascript,Datetime,Momentjs,我正在使用Moment.js解析字符串,并分别获取日期、月份和年份: var date = moment("12-25-1995", "MM-DD-YYYY"); var day = date.day(); 然而,day不是25,而是1。什么是正确的API方法?要使用的正确函数是: 给你一周中的哪一天。这与上的javascript和函数类似 如果要获取月份和年份,可以使用和函数。这是获取部分日期的方法: var date = moment("12-25-1995", "MM-D

我正在使用Moment.js解析字符串,并分别获取日期、月份和年份:

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

然而,
day
不是25,而是1。什么是正确的API方法?

要使用的正确函数是:

给你一周中的哪一天。这与上的javascript和函数类似


如果要获取月份和年份,可以使用和函数。

这是获取部分日期的方法:

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! ');
}
您可以使用
moment().format('DD')
获取月份的日期

var date = +moment("12-25-1995", "MM-DD-YYYY").format('DD'); 
// notice the `+` which will convert 
// the returned string to a number.

祝你好运…

date.month()返回11而不是12。它总是在输入的月份返回-1。@YaronLevi是的,它的索引为零。它在文章中谈到了这一点。javascript日期对象也会这样做。哇,这太令人困惑了。他们应该只把“day”表示为day,然后把“dayOfMonth”单独表示为dayOfMonth。
var date = +moment("12-25-1995", "MM-DD-YYYY").format('DD'); 
// notice the `+` which will convert 
// the returned string to a number.