¿Cómo conseguir la cita de ayer con Momentjs?


118

Entonces, mi pregunta es simple, ¿cómo obtengo la fecha de ayer con MomentJs? En Javascript es muy simple, es decir

today = new Date();
yesterday = new Date(today.setDate(today.getDate() - 1))

console.log(yesterday)

Pero, ¿cómo lo logro con MomentJs?


3
momento (). agregar ('días', -1);
roeb

6
También hay new Date(Date.now() - 8.64e7). ;-)
RobG

Respuestas:


190

Al igual que este: moment().subtract(1, 'days'). Le dará el día anterior con la misma hora exacta actual que está en su PC local.


2
Intenté esto al pie de la letra pero no funcionó para mí. Tuve que proporcionar algún tipo de formato al resultado. Por ejemplo, 'momento (). Restar (1,' días '). Calendario ()' o 'momento (). Restar (1,' días '). ToDate ()' o 'momento (). Restar (1,' días ') .format ("MM / DD / YYYY")'
Andrew

94

También :

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

Le dará el día anterior con la misma hora exacta actual que está en su PC local.


Estoy usando este método desde hace un mes en un fragmento, y acabo de descubrir que no funciona correctamente a principios de mes. Entonces, moment(date).subtract(-1, 'day')el primer día devuelve el último día del mes actual en lugar del último día del mes anterior. ¿Alguien sabe más sobre?
3ky

¿Puedes probar con en moment().subtract(1, 'day')lugar de?moment().subtract(-1, 'day')
Sai Ram

@sam olvide el menos, fue solo un error tipográfico. ¿Hay alguna razón por la que intenté moment(date).add(-1, 'day')con el mismo resultado?
3ky

36

Cuando tenemos la fecha de ayer, hay tres posibilidades.

1. Obtener la fecha de ayer con el tiempo actual

moment().subtract(1, 'days').toString()

2. Obtener la fecha de ayer con el inicio del día.

moment().subtract(1, 'days').startOf('day').toString()      

3. Obtener la fecha de ayer con el final del día.

moment().subtract(1, 'days').endOf('day').toString()


5

Puede restar fácilmente los días del momento usando

var yesterday = moment().subtract(1, 'days')

Y por encontrar la fecha anterior

var previousDay = moment('2017/11/6', 'YYYY/MM/DD').subtract(1, 'days')


3

La fecha de ayer en Momentjs en formato DD-MM-AAAA.

const yesterdaydate = moment().subtract(1, "days").format("DD-MM-YYYY");
console.log(yesterdaydate)

0

Esto funcionó para mí:

var yesterday = new Date(dateInput.getTime());
yesterday.setDate(yesterday.getDate() - 1);
console.log(yesterday);

var tomorrow = new Date(dateInput.getTime());
tomorrow.setDate(tomorrow.getDate() + 1);
console.log(tomorrow);

dateB = moment(yesterday).format("YYYYMMDD");
dateA = moment(tomorrow).format("YYYYMMDD");
console.log(dateB);
console.log(dateA);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.