Ich habe eine Datum / Uhrzeit-Zeichenfolge wie 2012-01-13 04:37:20
, aber ich möchte sie in dd-mm-yyyy hh:mm
konvertieren, wie kann ich das tun?
Ich verwende den folgenden Code, aber es löst eine Ausnahme aus.
%Vor%Sie können eine einfache String-Manipulation durchführen und ein js date-Objekt erstellen. Siehe Funktion unten, die Datum im Format akzeptiert: // JJJJ-MM-TT HH: MM: SS
DEMO hier
%Vor%Verwenden Sie entweder eine einfache String-Manipulation (wie von @SKS vorgeschlagen) oder verwenden Sie eine Bibliothek. Letzteres ist flexibler und ermöglicht Ihnen eine einfache Änderung des Eingabe- oder Ausgabeformats. Wenn Sie beispielsweise die Bibliothek Globalize.js verwenden, würden Sie Folgendes schreiben:
%Vor%Beachten Sie jedoch, dass Formate wie "TT-MM-JJJJ hh: mm" verwirrend sind - es ist weder ein Standard-ISO-Format noch ein lokales (sprachabhängiges) Format. Die Bibliothek Globalize.js ermöglicht die Verwendung vordefinierter sprachabhängiger Formate zusätzlich zu explizit angegebenen Formaten.
Beachten Sie, dass die integrierten Routinen für das Parsen und Formatieren von Datum und Uhrzeit in JavaScript implementierungsabhängig sind. Ihre Verwendung bedeutet nicht übertragbaren Code. Zum Beispiel gibt es keine Garantie, dass new Date()
das Format akzeptiert, das Sie als Eingabe haben, und toLocaleDateString () schreibt das Datum in ein vom Gebietsschema abhängiges Format, was fast alles sein kann.
Wenn Sie nicht alle Funktionen benötigen, die eine Bibliothek wie Moment.js zur Verfügung stellt, können Sie meinen Port von strftime . Es ist leicht (1.35 KB vs. 57.9 KB im Vergleich zu Moment.js 2.15.0 minimiert) und bietet die meisten Funktionen von strftime()
.
Beispielverwendung:
%Vor%Der neueste Code ist hier verfügbar: Ссылка
Ich denke, es ist am besten, die Intl.DateTimeFormat
-Klasse zu verwenden.
Die Verwendung ist ziemlich einfach. Sie können ein Muster nicht wie gewünscht eingeben, aber es gibt Ihnen die gewünschten Ergebnisse.
Hier ist ein Beispiel, wie man es benutzt:
%Vor%Wenn Sie wirklich eine DateTimeFormat-Zeichenfolge eingeben möchten, wäre es einfach, eine Funktion zu schreiben, die die Zeichenfolge mit Regex analysiert, aber ich glaube nicht, dass sie benötigt wird.
Weitere Informationen finden Sie hier:
Date erfordert Date-Objekt, also sollten Sie var d = new Date () etwas wie folgt geben dann zum Formatieren siehe Ссылка Link, es wird hilfreich sein.
Für die Arbeit mit DateTimes in Javascript ist es besser, das 'Intl.DateTimeFormat' wie folgt zu verwenden:
%Vor%Ergebnis: "01-13-2012 14:37"
Die Formate für Datum und Uhrzeit können mit dem Optionsargument angepasst werden.
Tags und Links javascript html