Wie formatiere ich ein Datum als ISO 8601 in moment.js?
Diese docs erwähnen moment.ISO_8601
als option Formatierung (von 2.7.0 - http://momentjs.com/docs/#/parsing/special-formats/), aber keine dieser arbeiten (auch 2.7.0):
var date = moment();
date.format(moment.ISO_8601); //error
moment.format(date, moment.ISO_8601); //error
(http://jsfiddle.net/b3d6uy05/1/)
Wie kann ich ein ISO 8601 aus moment.js?
InformationsquelleAutor der Frage sennett | 2014-09-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://momentjs.com/docs/#/displaying/as-iso-string/
Update
Auf der Grundlage der Antwort: die von @sennet und der Kommentar von @dvlsg (siehe Fiddle) es sollte darauf hingewiesen werden, dass es einen Unterschied zwischen
format
undtoISOString
. Beide sind korrekt, aber der zugrunde liegende Prozess unterscheidet.toISOString
wandelt in ein Date-Objekt wird UTC verwendet dann die native Datum Prototyp-Funktion, um die Ausgabe nach ISO8601 in UTC mit Millisekunden (YYYY-MM-DD[T]HH:mm:ss.SSS[Z]
). Auf der anderen Seiteformat
verwendet das Standard-format (YYYY-MM-DDTHH:mm:ssZ
) ohne Millisekunden und pflegt die Zeitzone offset.Ich geöffnet habe, eine Problem wie ich denke, es kann zu unerwarteten Ergebnissen führen.
InformationsquelleAutor der Antwort cyberwombat
Verwenden
format
ohne Parameter:(http://jsfiddle.net/8gvhL1dz/)
InformationsquelleAutor der Antwort sennett
Auch möglich mit vanilla JS
InformationsquelleAutor der Antwort artnikpro
Wenn Sie wollen einfach nur das Datum Teil (z.B. 2017-06-27), und Sie wollen, dass es funktioniert, unabhängig von der Zeit-zone, und auch im arabischen, hier ist der code, den ich schrieb:
InformationsquelleAutor der Antwort user393274
Wenn Sie Mongoose zum speichern von Daten in MongoDB, die Sie verwenden müssen toISOString (), da alle Daten gespeichert werden, ISOdates mit Millisekunden.
InformationsquelleAutor der Antwort webmaster