Maison  >  Article  >  interface Web  >  Pourquoi `new Date(\'YYYY-MM-DDTHH:MM:SS\')` produit-il des résultats différents dans Chrome et Firefox ?

Pourquoi `new Date(\'YYYY-MM-DDTHH:MM:SS\')` produit-il des résultats différents dans Chrome et Firefox ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-27 01:49:30244parcourir

Why Does `new Date('YYYY-MM-DDTHH:MM:SS')` Produce Different Results in Chrome and Firefox?

Compatibilité entre navigateurs de la création d'objets date

Lors de l'analyse d'une chaîne de date dans un objet Date à l'aide de JavaScript, des variations surviennent entre différents navigateurs tels que comme Chrome et Firefox. Cette différence devient évidente lors de l'utilisation du nouveau constructeur Date() pour analyser une chaîne de date au format « AAAA-MM-JJTHH:MM:SS ».

Dans l'extrait de code fourni :

<code class="js">var date = new Date('2013-02-27T17:00:00');</code>

Firefox interprète la chaîne d'entrée comme une heure locale et ajoute le décalage du fuseau horaire local (GMT 0700). Cela donne une date qui est un jour en avance sur l'heure UTC prévue, ce qui donne :

Wed Feb 27 2013 17:00:00 GMT+0700 (SE Asia Standard Time)

À l'inverse, Chrome analyse correctement la chaîne en tant qu'heure UTC et renvoie le résultat attendu :

Thu Feb 28 2013 00:00:00 GMT+0700 (SE Asia Standard Time)

Solution

Pour garantir un comportement cohérent entre les navigateurs, ajoutez « Z » à la chaîne de date pour indiquer explicitement l'heure UTC. Le format correct pour UTC serait « AAAA-MM-JJTHH:MM:SSZ ».

<code class="js">var date = new Date('2013-02-27T17:00:00Z');</code>

Cette modification résoudra l'écart et produira le même résultat dans Chrome et Firefox, reflétant l'heure UTC d'origine. :

Thu Feb 28 2013 00:00:00 GMT+0700 (SE Asia Standard Time)

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!

Déclaration:
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