Comment obtenir le rendez-vous d'hier avec Momentjs?


118

Donc, ma question est simple, comment puis-je obtenir le rendez-vous d'hier avec MomentJs? En Javascript c'est très simple, c'est à dire

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

console.log(yesterday)

Mais comment y parvenir avec MomentJs?


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

6
Il y a aussi new Date(Date.now() - 8.64e7). ;-)
RobG

Réponses:


190

Tout comme ceci: moment().subtract(1, 'days'). Il vous donnera le jour précédent avec la même heure actuelle exacte que sur votre ordinateur local.


2
J'ai essayé cela au pied de la lettre mais n'a pas fonctionné pour moi. J'ai dû fournir un certain type de format au résultat. Par exemple, 'moment (). Soustraire (1,' jours '). Calendrier ()' ou 'moment (). Soustraire (1,' jours '). ToDate ()' ou 'moment (). Soustraire (1,' jours ') .format ("MM / JJ / AAAA")'
Andrew

94

Aussi :

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

Il vous donnera le jour précédent avec la même heure actuelle exacte que sur votre ordinateur local.


J'utilise cette méthode depuis un mois dans un extrait de code, et je viens de découvrir que cela ne fonctionne pas correctement au début du mois. Ainsi moment(date).subtract(-1, 'day'), le premier jour rend le dernier jour du mois en cours au lieu du dernier jour du mois précédent. Quelqu'un en sait-il plus?
3ky

pouvez-vous essayer avec moment().subtract(1, 'day')au lieu demoment().subtract(-1, 'day')
Sai Ram

@sam oublie le moins, c'était juste une faute de frappe. Y a-t-il une raison pour laquelle j'ai essayé moment(date).add(-1, 'day')avec le même résultat.
3ky le

36

Quand nous obtenons la date d'hier, il y a trois possibilités

1. Obtenez la date d'hier avec l'heure actuelle

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

2. Obtenez la date d'hier avec le début de la journée

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

3. Obtenez la date d'hier avec la fin de la journée

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


5

Vous pouvez facilement soustraire des jours du moment en utilisant

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

Et pour trouver la date précédente

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


3

Date d'hier dans Momentjs au format JJ-MM-AAAA.

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

0

Cela a fonctionné pour moi:

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);
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.