„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum hat Safari Probleme mit Datumsangaben im Format „29.11.2010“?

Warum hat Safari Probleme mit Datumsangaben im Format „29.11.2010“?

Veröffentlicht am 08.11.2024
Durchsuche:177

Why Does Safari Struggle with Dates in \'2010-11-29\' Format?

Safari's Date Parsing Macken

Warum gibt Safari einen Fehler „Ungültiges Datum“ aus, wenn Datumsangaben in Formaten wie „29.11.2010“ gefunden werden? ', während andere Browser diese Daten problemlos verarbeiten? Dieses inkonsistente Verhalten kann für Webentwickler frustrierend sein.

Die Ursache des Problems liegt in Safaris Interpretation der Bindestriche (-) in den Datumszeichenfolgen. Während die meisten Browser Bindestriche als Datumstrennzeichen erkennen, behandelt Safari sie fälschlicherweise als Teil des Datums selbst, was zu falschen Datumsberechnungen führt.

Versuchen Sie zur Veranschaulichung die folgenden String-Parsing-Versuche:

alert(new Date('2010-29-11')); // Doesn't work in Safari
alert(new Date('29-11-2010')); // Doesn't work in Safari
alert(new Date('11-29-2010')); // Doesn't work in Safari

Wie Sie sehen, kann Safari diese Daten unabhängig von der Reihenfolge der Komponenten nicht korrekt analysieren.

Bei Verwendung einer separaten Bibliothek wie Moment.js oder date-fns eine Option zur Linderung dieses Problems sein könnten, gibt es eine einfachere Lösung. Durch einfaches Ersetzen der Bindestriche durch Schrägstriche (/) kann Safari die Datumszeichenfolge korrekt interpretieren:

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

Dieser einzeilige Fix stellt sicher, dass Safari Daten im erwarteten Format analysieren kann, sodass Webanwendungen Daten konsistent über mehrere Browser hinweg anzeigen und bearbeiten können.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729502775 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3