Use Moment to get month of Date object

时间:2016-07-11 19:28:40

标签: javascript date momentjs

I'm sure this is a simple thing but I haven't been able to find the specific syntax in any of the documentation or in any related posts.

In order to get a month-picker to work i need to instantiate a new Date object when my controller initializes.

Controller

scope.date = new Date();

This creates a date object with the following format:

Mon Feb 01 2016 15:21:43 GMT-0500 (Eastern Standard Time)

However when I attempt to pull the month from the date object, using moment, I get the error:

enter code here

getMonth method

var month = moment().month(scope.date, "ddd MMM DD YYYY");

Any idea how to pull the month from the above date object without using substring?

3 个答案:

答案 0 :(得分:19)

You can use moment.month() it will return or set the value.

moment.month() is zero based, so it will return 0-11 when doing a get and it expects a value of 0-11 when setting passing a value in.

var d = moment(scope.date);
d.month(); // 1
d.format('ddd MMM DD YYYY'); // 'Mon Feb 01 2016'

答案 1 :(得分:1)

由于moment.month()返回从零开始的月份号,因此您可以使用moment.format()来获取从1开始的实际月份号,就像这样

moment.format(scope.date, 'M');

答案 2 :(得分:0)

您可以使用moment(scope.date).format("M");