Momento JS: ¿cómo restar 7 días de la fecha actual?

1 minuto de lectura

avatar de usuario
redrom

Me gustaría restar 7 días de la fecha actual para obtener la fecha con formato AAAA-MM-DD usando la biblioteca moment.js.

Traté de hacer de esta manera:

    dateTo = moment(new Date()).format('YYYY-MM-DD');
    dateFrom = moment(new Date() - 7).format('YYYY-MM-DD');

   console.log(dateFrom);
   console.log(dateTo);

Pero todos los valores devueltos son iguales.

avatar de usuario
stu_sha

Quizás:

dateTo = moment().format('YYYY-MM-DD');
dateFrom = moment().subtract(7,'d').format('YYYY-MM-DD');

momento#restar

  • También vale la pena señalar, moment(new Date()) === moment()

    – Espacio de tiempo

    17/09/2014 a las 12:54

El objeto de fecha, cuando se convierte, está en milisegundos. asi que:

dateFrom = moment(Date.now() - 7 * 24 * 3600 * 1000).format('YYYY-MM-DD'); 

  • ¿Y si me gustaría pasar algo como dateTo – dateFrom?

    – redrom

    17/09/2014 a las 10:39

  • Date.getMilliseconds()

    – Vinz243

    17/09/2014 a las 12:53

  • Este enfoque no es seguro para fechas cercanas a las transiciones de horario de verano. No todos los días tienen 24 horas de duración.

    – Matt Johnson-Pint

    17/09/2014 a las 17:29


Puedes usar:

moment().subtract(1,'w')

para restar una semana (7 días) de la fecha actual.

NOTE:
1. w for week
2. d for days
3. m for month
4. y for year

para un selector de fecha y uso

 first_day: moment()
    .subtract(5, "day")
    .endOf("day")
    .toDate(),
  last_day: moment()
    .endOf("day")
    .toDate(),

La pregunta está desactualizada, al igual que la solución.

Usando Momento v2.29 +

Puede sumar o restar días usando las siguientes formas

moment().day(-7); // last Sunday (0 - 7)
moment().day(0); // this Sunday (0)
moment().day(7); // next Sunday (0 + 7)
moment().day(10); // next Wednesday (3 + 7)
moment().day(24); // 3 Wednesdays from now (3 + 7 + 7 + 7)

Para obtener más información, consulte la documentación oficial. https://momentjs.com/docs/#/get-set/

avatar de usuario
Rohit Parte

El método más fácil para obtener el último día 7

moment().subtract(7, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss')

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad