2017-06-28 9 views
0

Ich verwende einige der Datumsmanipulationsfunktionen von moment.js wie Tagen hinzufügen.Rückgabe eines Wertes mit Moment.js

import moment from 'moment'; 

const addDays = (date, days) => { 
    return moment(date).add(days, 'd'); 
} 

Dies scheint zu funktionieren, aber gibt ein Objekt zurück. Wie gebe ich einen einfachen Datumswert zurück?

+0

nur 'Rückkehr Moment (Datum) .add (Tage, 'd'). Format ('JJJJ-MM-TT');' – usrNotFound

Antwort

1

Hängt davon ab, wie Sie es formatiert und welchen Datentyp.


Um eine Kopie des nativen Date-Objekt zu erhalten, die Moment.js Wraps, verwenden Sie die .toDate() Funktion ..

return moment(date).add(days, 'd').toDate();

Um eine Kopie als ISO-formatierten String zu erhalten. .

return moment(date).add(days, 'd').toISOString();

Um eine Kopie als eine echte Zeichenfolge (was ich denke, Sie wollen) zu erhalten ..

return moment(date).add(days, 'd').toString(); // Sat Apr 30 2016 16:59:46 GMT-0500 oder return moment(date).add(days, 'd').format(); // 2013-03-10T01:30:00-05:00

Um eine Kopie als String in einem bestimmten Format zu erhalten ..

return moment(date).add(days, 'd').format('MMMM Do YYYY, h:mm:ss a'); // June 28th 2017, 3:55:57 pm


Schauen Sie sich die Dokumentation für weitere Informationen: https://momentjs.com/docs/#/get-set/

+0

Danke. Eine Nachfolgefrage: Ich komme aus der Welt der stark typisierten Sprachen. Muss ich dann den String-Wert in ein Datum umwandeln? – Sam

+0

@Sam, das hängt davon ab, wofür Sie es verwenden. Was hast du vor? In Ihrem Beispiel möchten Sie wahrscheinlich keine Zeichenfolge zurückgeben, da es sich um eine Dienstprogrammfunktion handelt. – dotKn0ck

+0

Wie gesagt, weil ich aus stark typisierten Sprachen komme, habe ich immer die Tendenz, Daten in meinen Variablen im richtigen Typ zu halten. Ich denke, sollte es notwendig sein, Datumsberechnungen durchzuführen, kann ich die Zeichenfolge immer auf ein Datum umwandeln, aber mein Denken ist warum warten? Ich würde lieber ein Datum als Datum und nicht als Zeichenfolge speichern. Ich vermute, dass dies für einige JS-Entwickler etwas seltsam klingen mag. – Sam

Verwandte Themen