2016-10-18 2 views
0

Я пытаюсь получить последний день месяца как целое число. Так что за месяц 31 декабря следует вернуть.Moment.js возвращает 1 как последний день месяца

moment().endOf('month').day() 

Это, однако, возвращает 1 - даже если

moment().endOf('month').format('YYYY-MM-DD') 

возвращает правильную дату. Может кто-нибудь объяснить, почему и как получить фактический день?

+0

Это ваш фактический код? Кажется, 31 октября, в понедельник – Maxx

+2

'moment(). endOf ('month'). date()' – Rajesh

ответ

5

Чтобы получить день месяца, вы должны использовать .date() вместо этого. См. Соответствующую часть документов: http://momentjs.com/docs/#/get-set/date/

+0

это сработало :) спасибо! –

1

day() возвращает день недели, а не дата

Вы хотите использовать date() вместо

+0

Вот что я думал о том, что проблема может быть ... – Feathercrown

+3

try 'date()', должен сделать трюк – galchen

+0

дата сделала трюк, спасибо! –

-1

Как сказал галхен, день() возвращает день недели. Чтобы получить дату, манипулировать строку:

var lastDay = moment().endOf('month').format('YYYY-MM-DD').split('-')[2]; 
+1

, если вы хотите использовать '.format', то почему бы не' .format ('DD') ' – Rajesh

+2

Это не нужно, просто используйте' .date() '. –

1
moment().endOf('month').format('DD') 

также

moment().endOf('month').date(); 
0
var lastDate = moment().endOf('month').format('DD') 

, который возвращает день, и вы можете ParseInt это для создания его как целое

Смежные вопросы