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?

ToTa
la source
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.

Aleks
la source
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.

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

Vous pouvez trouver plus d'informations dans la documentation .

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

Shanavas VH
la source
3

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

const yesterdaydate = moment().subtract(1, "days").format("DD-MM-YYYY");
console.log(yesterdaydate)
Jojo Joseph
la source
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);
Louise Fitzpatrick Hayes
la source