Ich möchte, dass eine Variable das gestrige Datum im Format DD-MM-YYYY
mit Moment.js hält. Wenn heute also der 15.04.2015 ist, möchte ich einen Tag abziehen und den 14.4.2015 haben.
Ich habe einige Kombinationen wie diese ausprobiert:
startdate = moment().format('DD-MM-YYYY');
startdate.subtract(1, 'd');
und das:
startdate = moment().format('DD-MM-YYYY').subtract(1, 'd');
und auch das:
startdate = moment();
startdate.subtract(1, 'd');
startdate.format('DD-MM-YYYY')
Aber ich verstehe es nicht ...
javascript
date
momentjs
Beaumondo
quelle
quelle
format()
ist die Funktion, die es zu einem String macht. Das solltest du zuletzt machen.Antworten:
Es treten mehrere Kuriositäten auf. Die erste wurde in Ihrem Beitrag bearbeitet, hatte jedoch mit der Reihenfolge zu tun, in der die Methoden aufgerufen wurden.
.format
gibt eine Zeichenfolge zurück. String hat keinesubtract
Methode.Das zweite Problem ist, dass Sie den Tag subtrahieren, dies aber nicht als Variable speichern.
Ihr Code sollte also folgendermaßen aussehen:
Sie können dies jedoch miteinander verketten. das würde so aussehen:
Der Unterschied besteht darin, dass wir das Startdatum auf die Änderungen festlegen, die Sie am Startdatum vornehmen, da der Moment destruktiv ist.
quelle
subtract
ist in der Tat destruktiv. "Mutiert den ursprünglichen Moment durch Subtrahieren der Zeit". Siehe hier: momentjs.com/docs/#/manipulating/subtractquelle
Versuche dies:
Dies wird Ihnen geben
14-04-2015
- heute ist 15-04-2015Wenn Ihre momentjs-Version kleiner als 2.8.0 ist, können Sie alternativ Folgendes verwenden:
An Stelle von:
quelle
startdate = moment().subtract(1, 'days').startOf('day')
quelle
Ich denke, Sie haben es in diesem letzten Versuch, Sie müssen nur die Zeichenfolge greifen .. in der Chrome-Konsole ..
quelle
Im Winkelmoment = "^ 1.3.0"
quelle
Jetzt können Sie formatieren, wie Sie dieses Datum sehen möchten, oder Sie können dieses Datum mit einem anderen vergleichen usw.
Die Funktion toDate () ist der Punkt.
quelle