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?


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.


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.


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()


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')


3

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

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

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);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.