Wie bekomme ich das gestrige Date mit Momentjs?

115

Meine Frage ist also einfach: Wie bekomme ich das gestrige Date mit MomentJs? In Javascript ist es sehr einfach, dh

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

console.log(yesterday)

Aber wie erreiche ich das mit MomentJs?

ToTa
quelle
3
moment (). add ('Tage', -1);
Roeb
6
Es gibt auch new Date(Date.now() - 8.64e7). ;-)
RobG

Antworten:

184

Einfach so : moment().subtract(1, 'days'). Sie erhalten am Vortag genau die aktuelle Uhrzeit, die auf Ihrem lokalen PC angezeigt wird.

Aleks
quelle
2
Versuchte dies zum Nennwert, funktionierte aber nicht für mich. Ich musste dem Ergebnis eine Art Format geben. ZB 'Moment (). Subtrahieren (1,' Tage '). Kalender ()' oder 'Moment (). Subtrahieren (1,' Tage '). ToDate ()' oder 'Moment (). Subtrahieren (1,' Tage ') .format ("MM / TT / JJJJ")'
Andrew
94

Ebenfalls :

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

Sie erhalten am Vortag genau die aktuelle Uhrzeit, die auf Ihrem lokalen PC angezeigt wird.

Sai Ram
quelle
Ich verwende diese Methode seit einem Monat in einem Snippet und habe gerade herausgefunden, dass dies zu Beginn des Monats nicht richtig funktioniert. Also moment(date).subtract(-1, 'day')auf dem ersten Tag gibt den letzten Tag des laufenden Monats statt am letzten Tag des Vormonats zurück. Weiß jemand mehr darüber?
3ky
können Sie versuchen mit moment().subtract(1, 'day')anstelle vonmoment().subtract(-1, 'day')
Sai Ram
@sam das Minus vergessen, war nur ein Tippfehler. Gibt es einen Grund, warum ich es moment(date).add(-1, 'day')mit dem gleichen Ergebnis versucht habe?
3ky
36

Wenn wir das gestrige Datum bekommen, gibt es drei Möglichkeiten

1. Holen Sie sich das gestrige Datum mit dem aktuellen Timing

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

2. Holen Sie sich das gestrige Datum mit Beginn des Tages

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

3. Holen Sie sich das gestrige Datum mit dem Ende des Tages

moment().subtract(1, 'days').endOf('day').toString()
Fizer Khan
quelle
8
moment().add(-1, 'days');

Weitere Informationen finden Sie in den Dokumenten .

Jan Hommes
quelle
5

Mit können Sie leicht Tage vom Moment abziehen

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

Und um das vorherige Datum zu finden

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

Shanavas VH
quelle
3

Das gestrige Datum in Momentjs im Format TT-MM-JJJJ.

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

Das hat bei mir funktioniert:

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
quelle