Come ottenere l'appuntamento di ieri con Momentjs?


118

Quindi, la mia domanda è semplice, come ottengo l'appuntamento di ieri con MomentJs? In Javascript è molto semplice, cioè

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

console.log(yesterday)

Ma come ottengo questo con MomentJs?


3
moment (). add ('giorni', -1);
roeb

6
C'è anche new Date(Date.now() - 8.64e7). ;-)
RobG

Risposte:


190

Proprio come questo: moment().subtract(1, 'days'). Ti darà il giorno precedente con la stessa esatta ora corrente che è sul tuo PC locale.


2
Ho provato questo al valore nominale ma non ha funzionato per me. Ho dovuto fornire un qualche tipo di formato al risultato. Ad esempio 'moment (). Subtract (1,' days '). Calendar ()' o 'moment (). Subtract (1,' days '). ToDate ()' o 'moment (). Subtract (1,' days ') .format ("MM / DD / YYYY")'
Andrew

94

Anche :

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

Ti darà il giorno precedente con la stessa esatta ora corrente che è sul tuo PC locale.


Uso questo metodo da un mese in uno snippet e ho appena scoperto che non funziona correttamente all'inizio del mese. Quindi moment(date).subtract(-1, 'day')il primo giorno restituisce l'ultimo giorno del mese corrente invece dell'ultimo giorno del mese precedente. Qualcuno ne sa di più?
3ky

puoi provare con moment().subtract(1, 'day')invece dimoment().subtract(-1, 'day')
Sai Ram

@sam dimentica il meno, era solo un errore di battitura. C'è perché ho provato moment(date).add(-1, 'day')con lo stesso risultato.
3ky

36

Quando otteniamo la data di ieri, ci sono tre possibilità

1. Ottieni la data di ieri con i tempi attuali

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

2. Ottieni la data di ieri con l'inizio della giornata

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

3. Ottieni la data di ieri con la fine della giornata

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


5

Puoi facilmente sottrarre giorni dal momento utilizzando

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

E per trovare la data precedente

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


3

Data di ieri in Momentjs nel formato GG-MM-AAAA.

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

0

Questo ha funzionato per me:

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);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.