¿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?

ToTa
fuente
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.

Aleks
fuente
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.

Sai Ram
fuente
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()
Fizer Khan
fuente
8
moment().add(-1, 'days');

Puede encontrar más información en los documentos .

Jan Hommes
fuente
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')

Shanavas VH
fuente
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)
Jojo Joseph
fuente
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);
Louise Fitzpatrick Hayes
fuente