Será genial poder obtener / establecer una instancia de momento para el último día del mes, similar a eod.
Supongo que por ahora esto funciona:
momento (). add ('meses', 1) .fecha (1) .subtract ('días', 1)
Además, las armadoras se desbordan si están fuera de rango.
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
Entonces podrías hacer algo como esto ...
moment().add('months', 1).date(0);
moment().endOf('month');
funciona desde 1.7
moment().endOf('month');
o
moment(year-month-day).endOf('month');
@ lance-ding ¡Gracias! Eso fue definitivamente útil.
Sigo pensando que sería bueno tener una opción .format()
para el número de días del mes actual.
Relacionado: también puede usar moment().daysInMonth()
para obtener un número entero que represente el último día del mes.
Relacionado:
Advertencia de obsolescencia:
moment().add(period, number) is deprecated. Please use moment().add(number, period).
Entonces, un pequeño cambio en el código sería: moment().add(1, 'months').date(1).subtract('days', 1)
@gideonapollob , sí. También necesitaría invertir su .subtract()
.
Pero .endOf()
es casi con seguridad la mejor opción para lo que estás haciendo.
Puede obtener el último día del mes. como esto.
moment(2017-10).endOf('month').format('DD')
que muestra la última fecha del mes pasado
momento (). restar (1, 'meses'). endOf ('mes'). formato ('DD-MM-AAAA')
Comentario más útil
funciona desde 1.7