Было бы здорово иметь возможность получать / устанавливать экземпляр момента на последний день месяца - аналогично eod.
Думаю, сейчас это работает:
момент (). add ('месяцы', 1) .date (1) .subtract ('дни', 1)
Кроме того, сеттеры переполняются, если они находятся вне диапазона.
moment().date(0); // the last day of last month
moment().date(-1); // the second to last day of last month
moment().hours(25); // 1 am the next day
Итак, вы могли бы сделать что-то вроде этого ...
moment().add('months', 1).date(0);
moment().endOf('month');
работает с 1.7
moment().endOf('month');
или
moment(year-month-day).endOf('month');
@ lance-ding Спасибо! Это было определенно полезно.
Я все еще думаю, что было бы неплохо иметь опцию .format()
для количества дней в текущем месяце.
Связанный: вы также можете использовать moment().daysInMonth()
чтобы получить целое число, представляющее последний день месяца.
Связанный:
Предупреждение об устаревании:
moment().add(period, number) is deprecated. Please use moment().add(number, period).
Итак, небольшое изменение кода: moment().add(1, 'months').date(1).subtract('days', 1)
@gideonapollob , .subtract()
.
Но .endOf()
почти наверняка лучший выбор для того, что вы делаете.
Вы можете получить последний день месяца. нравится.
moment(2017-10).endOf('month').format('DD')
который показывает последнюю дату в прошлом месяце
момент (). subtract (1, 'месяцы'). endOf ('месяц'). формат ('ДД-ММ-ГГГГ')
Самый полезный комментарий
работает с 1.7