6 votes

le javascript semble utiliser les fuseaux horaires à l'envers avec Firefox

J'ai exécuté la commande suivante dans la console de Firefox (version 21) et j'obtiens des résultats inattendus.

new Date(1362891600000);

var date = new Date(1362891600000);
var time = date.getHours();
new Date(date.setHours(date.getHours() + 24));

Le résultat me laisse vraiment perplexe.

La première date s'affiche en heure avancée de l'Est, tandis que la seconde s'affiche en heure normale de l'Est. C'est complètement à l'envers. Cela ne se produit pas avec IE ou avec Chrome.

Qu'est-ce qui se passe ici ? enter image description here

5voto

Matt Johnson Points 33433

Il s'agit bien d'un bogue dans Firefox. Vous devriez probablement le leur signaler.

Toutefois, sachez que tout ce qui suit le décalage n'est pas standard et que la prise en charge varie énormément selon les navigateurs et les systèmes d'exploitation.

Par exemple, certains navigateurs affichent le nom du fuseau horaire, tandis que d'autres affichent une abréviation ou un identifiant interne. De même, certains conservent leurs propres chaînes de caractères, tandis que d'autres utilisent les valeurs renvoyées par le système d'exploitation. Et sous Windows, la base de données des fuseaux horaires est différente de celle de Linux ou Mac. Par ailleurs, certains navigateurs peuvent localiser cette chaîne en utilisant les paramètres de langue, de locale ou de culture.

Vous pouvez l'afficher à un utilisateur, si vous savez que la valeur est dans son propre fuseau horaire local. Mais ne vous y fiez pas pour tout ce qui est critique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X