Ich habe festgestellt, dass die JavaScript new Date()
Funktion ist sehr intelligent, da sie Datumsangaben in verschiedenen Formaten akzeptiert.
Xmas95 = new Date("25 Dec, 1995 23:15:00")
Xmas95 = new Date("2009 06 12,12:52:39")
Xmas95 = new Date("20 09 2006,12:52:39")
Ich konnte nirgends eine Dokumentation finden, die alle gültigen String-Formate beim Aufruf von new Date()
Funktion.
Dies dient der Umwandlung einer Zeichenkette in ein Datum. Wenn wir uns die andere Seite ansehen, also die Umwandlung eines Datumsobjekts in eine Zeichenkette, hatte ich bisher den Eindruck, dass JavaScript keine eingebaute API hat, um ein Datumsobjekt in eine Zeichenkette zu formatieren.
Anmerkung der Redaktion: Der folgende Ansatz ist der Versuch des Fragestellers, der mit einem bestimmten Browser funktioniert, aber nicht no Arbeit im Allgemeinen; siehe die Antworten auf dieser Seite um einige konkrete Lösungen zu sehen.
Heute habe ich mit dem toString()
Methode für das Datumsobjekt und dient überraschenderweise der Formatierung des Datums in Zeichenketten.
var d1 = new Date();
d1.toString('yyyy-MM-dd'); //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome
d1.toString('dddd, MMMM ,yyyy') //Returns "Monday, June 29,2009" in Internet Explorer, but not Firefox or Chrome
Auch hier konnte ich keine Dokumentation über all die Möglichkeiten finden, wie wir das Datumsobjekt in eine Zeichenkette formatieren können.
Wo befindet sich die Dokumentation, in der die Formatbezeichner aufgeführt sind, die von der Date()
Objekt?
172 Stimmen
Ihre Beispiele funktionieren nicht so, wie Sie es sich vorstellen: jsfiddle.net/edelman/WDNVk/1
30 Stimmen
Sorry, Übergabe Format Zeichenfolgen in toString funktioniert in .NET, und es kann in Java funktionieren, aber wie Jason darauf hingewiesen, dies funktioniert nicht wirklich in Javascript.
18 Stimmen
Die Leute erinnern sich - Fragen, egal wie kanonisch, müssen Fragen bleiben . Bitte unterlassen Sie jede Bearbeitung, die diese Frage in eine Antwort umwandelt, verfeinern und pflegen Sie die antwortet stattdessen. Danke :)
2 Stimmen
Ich habe den Code in diesem Link verwendet msdn.microsoft.com/de-us/library/ie/ff743760(v=vs.94).aspx -- (date.toLocaleDateString("en-US"));
0 Stimmen
Wenn künftige Besucher dieser Seite verwirrt sind, wie sich die meisten Antworten auf die Frage beziehen, empfehle ich die Lektüre der Frageüberarbeitungen insbesondere (falls abweichend von oben) Überarbeitung 15 @ Eric Muyser - Ich für meinen Teil war verwirrt über das Fehlen der ungültigen Date#toString-Verwendung.
0 Stimmen
docs.oracle.com/javase/7/docs/api/java/text/
0 Stimmen
Während die meisten Antworten keine wirklichen Antworten sind ("Verwenden Sie Bibliothek X" hilft an sich nicht bei der Dokumentation zur Formatierung eines Datums), ist es durchaus sinnvoll zu fragen, wo ECMA-262 Informationen zu einer bestimmten Aufgabe liefert. Darauf hätten die Antworten eingehen sollen, bevor sie andere Quellen nennen. Es ist schwer zu verstehen, wie eine Frage, die sich auf ECMA-262 bezieht, nicht auf eine externe Ressource verweisen kann, da die Spezifikation außerhalb des Unternehmens aufbewahrt wird.
0 Stimmen
Ich denke, dass jetzt die EcmaScript Internationalisierungs-API sollte zur Beantwortung dieser Frage verwendet werden. Etwa so:
let formattedDate = new Intl.DateTimeFormat('en-US').format(XMas95)
Das ist derzeit die beste Lösung.0 Stimmen
@user66001 Wenn künftige Besucher durch diese Seite verwirrt sind, sollten sie die Schaltfläche "Zurück" drücken und dann lesen die Dokumentation für Date ...
0 Stimmen
@JasonC Wir müssen in verschiedenen Welten leben. In der Welt, in der viele Menschen zu leben scheinen, nehmen sie lieber Abkürzungen, als alles Wissen über ein Thema zu lesen, bevor sie es praktizieren.
0 Stimmen
@user66001 Ich mag auch Abkürzungen; deshalb habe ich mich geärgert, dass ich auf dem Weg zu dieser blöden Seite anhalten musste, heh.
0 Stimmen
@JasonC Wir leben tatsächlich in verschiedenen Welten. Die Menge an unzusammenhängendem Material, die ich sehen muss, bevor ich zufällig auf eine Lösung stoße, die mein Problem angeht, ohne dass ich mich mit jeder Sprache auskennen muss, wenn ich mehrere davon verwende, ist phänomenal. Ich wünsche Ihnen viel Glück dabei, dies zu verhindern.