2014-09-17 14 views
21

Ich möchte 7 Tage vom aktuellen Datum subtrahieren, um das Datum YYYY-MM-DD mit der moment.js-Bibliothek zu formatieren.Moment JS - Wie subtrahiert man 7 Tage vom aktuellen Datum?

Ich habe versucht, auf diese Weise zu tun:

dateTo = moment(new Date()).format('YYYY-MM-DD'); 
    dateFrom = moment(new Date() - 7).format('YYYY-MM-DD'); 

    console.log(dateFrom); 
    console.log(dateTo); 

Aber alle zurückgegebenen Werte gleich sind.

Wie kann ich es bitte lösen?

Antwort

48

können sein:

dateTo = moment().format('YYYY-MM-DD'); 
dateFrom = moment().subtract(7,'d').format('YYYY-MM-DD'); 
+3

Erwähnenswert ist auch 'moment (new Date()) === moment()' – Timespace

2

Das Datumsobjekt ist in Millisekunden angegeben. so:

dateFrom = moment(Date.now() - 7 * 24 * 3600 * 1000).format('YYYY-MM-DD'); 
+0

Und was, wenn ich möchte so etwas wie dateTo passieren - datefrom? – redrom

+0

['Date.getMilliseconds()'] (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Objets_globaux/Date/getMilliseconds) – Vinz243

+0

Dieser Ansatz ist für Datumsangaben in der Nähe von Sommerzeitübergängen nicht sicher. Nicht alle Tage sind 24 Stunden lang. –

Verwandte Themen