Heim  >  Artikel  >  Web-Frontend  >  Wie behebe ich den Fehler „Ungültiges Datum“ beim Konvertieren der Zeichenfolge MM-TT-JJJJ in ein Datumsobjekt in Safari?

Wie behebe ich den Fehler „Ungültiges Datum“ beim Konvertieren der Zeichenfolge MM-TT-JJJJ in ein Datumsobjekt in Safari?

Susan Sarandon
Susan SarandonOriginal
2024-10-21 17:53:11702Durchsuche

How to Resolve

"Safari Date Conundrum: Invalid Date Blues and a One-Liner Fix"

Beim Versuch, ein neues Date-Objekt in Safari mit zu erstellen Wenn Sie eine Zeichenfolge im Format MM-TT-JJJJ eingeben, kann es sein, dass Benutzer auf den Fehler „Ungültiges Datum“ stoßen. Während andere Browser wie Chrome und Firefox dieses Format problemlos verarbeiten, stellt Safari eine Herausforderung dar.

Bei weiteren Untersuchungen wurde festgestellt, dass Safaris strikte Einhaltung des Datumsformats ISO 8601 die Ursache des Problems ist. Dieses Format erfordert, dass das Datum im Format JJJJ-MM-TT vorliegt, was nicht mit der verwendeten Zeichenfolge MM-TT-JJJJ kompatibel ist.

Versuche, das Problem durch manuelles Parsen der Zeichenfolge mit verschiedenen Trennzeichen zu beheben ( z. B. //, -/) erwies sich als zwecklos. Safari beharrte weiterhin auf dem ISO 8601-Format.

Eine einzeilige Lösung

Für diejenigen, die eine schnelle und effektive Lösung suchen, ohne auf externe Bibliotheken zurückgreifen zu müssen, a Ein einfacher Einzeiler kann die Einschränkungen bei der Datumsanalyse von Safari umgehen:

console.log (new Date('2011-04-12'.replace(/-/g, "/")));

In dieser Zeile wird die Methode replace() verwendet, um die Zeichenfolge MM-TT-JJJJ in das Format JJJJ-MM-TT von Safari zu konvertieren erkennt. Durch das Ersetzen aller Bindestriche (-) durch Schrägstriche (/) wird die Datumszeichenfolge mit dem ISO 8601-Standard kompatibel.

Mit dieser übersichtlichen Lösung können Benutzer neue Datumsobjekte in einem nicht standardmäßigen Format erstellen und gleichzeitig die Kompatibilität wahren mit Safari.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Ungültiges Datum“ beim Konvertieren der Zeichenfolge MM-TT-JJJJ in ein Datumsobjekt in Safari?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn