Maison > interface Web > js tutoriel > le corps du texte

Comment résoudre l'erreur « Date invalide » lors de la conversion d'une chaîne MM-JJ-AAAA en objet Date dans Safari ?

Susan Sarandon
Libérer: 2024-10-21 17:53:11
original
701 Les gens l'ont consulté

How to Resolve

"Énigme de date Safari : bleus de date invalides et correctif en une seule ligne"

Lorsque vous essayez de créer un nouvel objet Date dans Safari à l'aide une chaîne au format MM-JJ-AAAA, les utilisateurs peuvent rencontrer une erreur « date invalide ». Alors que d'autres navigateurs comme Chrome et Firefox gèrent ce format sans effort, Safari pose un défi.

Après une enquête plus approfondie, il a été découvert que le strict respect par Safari du format de date ISO 8601 était à l'origine du problème. Ce format nécessite que la date soit au format AAAA-MM-JJ, ce qui n'est pas compatible avec la chaîne MM-JJ-AAAA utilisée.

Tentatives de résolution du problème en analysant manuellement la chaîne à l'aide de différents séparateurs ( par exemple, //, -/) s'est avéré inutile. Safari est resté catégorique dans son insistance sur le format ISO 8601.

Une solution unique

Pour ceux qui recherchent une solution rapide et efficace sans recourir à des bibliothèques externes, un une simple ligne peut contourner les limitations d'analyse de date de Safari :

console.log (new Date('2011-04-12'.replace(/-/g, "/")));
Copier après la connexion

Dans cette ligne, la méthode replace() est utilisée pour convertir la chaîne MM-JJ-AAAA au format AAAA-MM-JJ que Safari reconnaît. En remplaçant tous les tirets (-) par des barres obliques (/), la chaîne de date devient conforme à la norme ISO 8601.

Cette solution concise permet aux utilisateurs de créer de nouveaux objets Date en utilisant un format non standard tout en conservant la compatibilité. avec Safari.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!