Wie kann ich String in Datetime mit Formatangabe in JavaScript konvertieren?
Wie kann ich umwandeln einer Zeichenfolge in einen Datums-Zeit-Objekt in javascript die Angabe eines format-string?
Ich bin auf der Suche nach etwas wie:
var dateTime = convertToDateTime("23.11.2009 12:34:56", "dd.MM.yyyy HH:mm:ss");
InformationsquelleAutor der Frage Serhat Ozgel | 2009-01-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke das kann dir helfen: http://www.mattkruse.com/javascript/date/
Gibt es eine
getDateFromFormat()
- Funktion, können Sie zwicken Sie ein wenig, um Ihr problem zu lösen.Update: es gibt eine aktualisierte version von den Beispielen unter javascripttoolbox.com
InformationsquelleAutor der Antwort Rafael Mueller
Verwenden
new Date(dateString)
wenn Ihr string ist kompatibel mitDatum.parse()
. Wenn Ihr format nicht kompatibel ist (ich denke, es ist), müssen Sie analysiert die Zeichenfolge selbst (sollte einfach sein, mit regulären Ausdrücken), und erstellen Sie eine neues Date-Objekt mit eindeutigen Werten für Jahr, Monat, Datum, Stunde, minute und Sekunde.InformationsquelleAutor der Antwort Christoph
@Christoph Erwähnt, mithilfe von regex, um das problem anzugehen. Hier ist, was ich verwende:
Es ist keineswegs intelligent, einfach konfigurieren Sie die regex-und die
new Date(blah)
an Ihre Bedürfnisse anpassen.Edit: Vielleicht ein bisschen mehr verständlich, in ES6 mit destructuring:
Aber in aller Ehrlichkeit, diese Tage, die ich erreichen für etwas, wie Moment
InformationsquelleAutor der Antwort OrganicPanda
Keine anspruchsvollen Datum/Uhrzeit-Formatierung Routinen existieren in JavaScript.
Müssen Sie verwenden eine externe Bibliothek für das formatierte Datum ausgegeben, "JavaScript-Date-Format" von Eklatanten Badassery sieht sehr vielversprechend aus.
Für die input-Konvertierung, mehrere Vorschläge wurden schon gemacht. 🙂
InformationsquelleAutor der Antwort Tomalak
Check-out Moment.js. Es ist eine moderne und leistungsfähige Bibliothek, macht JavaScript trauriges Datum-Funktionen (oder deren fehlen).
InformationsquelleAutor der Antwort Aaron Gray
Nur für eine aktualisierte Antwort hier, es gibt eine gute js-lib in http://www.datejs.com/
InformationsquelleAutor der Antwort Alexis Abril
InformationsquelleAutor der Antwort navin
Externe Bibliothek ist ein overkill für die Analyse von ein oder zwei Termine, so dass ich meine eigene Funktion, mit Oli ' s und Christoph Lösungen. Hier in zentral-Europa, das wir selten verwenden aything aber die OP ' s format, so das sollte genug für einfache apps, die hier verwendet werden.
InformationsquelleAutor der Antwort Pavel V.
Date.parse()
ist ziemlich intelligent, aber ich kann nicht garantieren, dass format korrekt zu analysieren.Falls nicht, müsstest du etwas finden, überbrücken die beiden. Dein Beispiel ist ziemlich einfach (rein zahlen), so ein Hauch von REGEX (oder sogar
string.split()
-- könnte schneller sein), gepaart mit einigenparseInt()
können Sie schnell ein date.InformationsquelleAutor der Antwort Oli
Nur meine 5 Cent.
Mein Datumsformat ist dd.mm.JJJJ (UK-format) und keines der oben genannten Beispiele wurden für mich arbeiten. Alle die Parser wurden in Anbetracht mm wie Tag und dd als Monat.
Ich habe festgestellt, das der Bibliothek: http://joey.mazzarelli.com/2008/11/25/easy-date-parsing-with-javascript/
und es funktionierte, denn man kann sagen, dass die Reihenfolge der Felder so:
Ich hoffe, dass jemand hilft.
InformationsquelleAutor der Antwort Anton Valqk
Moment.js behandelt diese:
InformationsquelleAutor der Antwort Chintsu
Voll befriedigen die Datum.analysieren konvertieren string-format dd-mm-YYYY gemäß RFC822
wenn Sie verwenden yyyy-mm-dd analysieren, tun können, ein Fehler.
InformationsquelleAutor der Antwort Valentin Rusk
InformationsquelleAutor der Antwort puneet18