Gibt es eine Möglichkeit, das Format input type="date" zu ändern?

Ich arbeite mit HTML5-Elementen auf meiner Webseite. Standardmäßig Eingabe type="Datum" zeigt Datum als YYYYY-MM-DD.

Die Frage ist, ob es möglich ist, das Format in etwas wie zu ändern: DD-MM-YYYY"?

Lösung

Es ist nicht möglich, das Format zu ändern

Wir müssen zwischen dem "over the wire"-Format und dem Darstellungsformat des Browsers unterscheiden.

Drahtgebundenes Format

Die HTML5-Spezifikation für die Datumseingabe bezieht sich auf die RFC3339-Spezifikation, die ein vollständiges Datumsformat vorschreibt, das gleich ist: yyyy-mm-dd. Siehe Abschnitt 5.6 der RFC3339-Spezifikation für weitere Einzelheiten.

Format der Darstellung

Die Browser sind in der Darstellung der Datumseingabe nicht eingeschränkt. Zum Zeitpunkt der Erstellung dieses Artikels unterstützen Chrome, Edge, Firefox und Opera das Datum (siehe hier). Sie alle zeigen eine Datumsauswahl an und formatieren den Text im Eingabefeld.

Desktop-Geräte

Bei Chrome, Firefox und Opera basiert die Formatierung des Textes im Eingabefeld auf der Spracheinstellung des Browsers. Bei Edge basiert sie auf der Windows-Spracheinstellung. Leider ignorieren alle Webbrowser die im Betriebssystem eingestellte Datumsformatierung. Für mich ist das ein sehr merkwürdiges Verhalten, das bei der Verwendung dieses Eingabetyps zu berücksichtigen ist. Niederländische Benutzer, deren Betriebssystem oder Browsersprache auf "en-us" eingestellt ist, erhalten beispielsweise "30.01.2019" anstelle des Formats, an das sie gewöhnt sind: 30-01-2019.

Internet Explorer 9, 10 und 11 zeigen ein Texteingabefeld mit dem Drahtformat an.

Mobile Geräte

Speziell für Chrome auf Android basiert die Formatierung auf der Android-Anzeigesprache. Ich vermute, dass dies auch bei anderen Browsern der Fall ist, konnte dies aber nicht überprüfen.

Kommentare (26)

Ich glaube, der Browser wird das lokale Datumsformat verwenden. Ich glaube nicht, dass es möglich ist, es zu ändern. Sie könnten natürlich ein benutzerdefiniertes Datum Picker verwenden.

Kommentare (3)

Google Chrome verwendet in seiner letzten Beta-Version endlich die Eingabe type=date, und das Format ist DD-MM-YYYY.

Es muss also eine Möglichkeit geben, ein bestimmtes Format zu erzwingen. Ich entwickle eine HTML5-Webseite und die Datumssuche schlägt jetzt mit verschiedenen Formaten fehl.

Kommentare (5)