Le constructeur Date renvoie NaN dans IE : une solution multi-navigateurs
En JavaScript, création d'un objet Date à l'aide du nouveau constructeur Date() est connu pour renvoyer des valeurs NaN lorsqu'il est utilisé dans Internet Explorer (IE), tout en fonctionnant de manière transparente dans des navigateurs comme Firefox et Chrome. Cela peut poser un défi lors de la gestion des fonctionnalités liées aux dates et à l'heure.
Pour résoudre ce problème, il est essentiel de comprendre la raison sous-jacente de cet écart. IE a une manière différente d’interpréter les chaînes de date par rapport aux autres navigateurs. Pour garantir la compatibilité entre navigateurs, nous pouvons utiliser une approche plus polyvalente pour analyser les chaînes de date et créer des objets Date qui fonctionnent de manière cohérente sur tous les principaux navigateurs.
La solution fournie consiste à convertir une chaîne de date obtenue à partir d'un fichier datetime/ MySQL. champ d'horodatage dans un objet Date JavaScript. Cette approche consiste à diviser la chaîne de date en ses composants (année, mois, jour, heure, minute, seconde), puis à utiliser le constructeur Date pour créer un nouvel objet Date à l'aide de ces composants extraits.
Voici un exemple d'implémentation. de cette approche :
var dateStr = "2011-08-03 09:15:11"; // Returned from MySQL timestamp/datetime field var a = dateStr.split(" "); var d = a[0].split("-"); var t = a[1].split(":"); var date = new Date(d[0], (d[1] - 1), d[2], t[0], t[1], t[2]); console.log(date); // Outputs a valid Date object
Cette méthode crée avec succès un objet Date à partir de la chaîne fournie et fonctionne de manière cohérente sur Internet Explorer, Firefox et Chrome. En utilisant cette approche, les développeurs peuvent garantir que leurs opérations liées aux dates fonctionnent correctement dans tous les principaux navigateurs.
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!