Erreur Chrome 67 : modifications du fuseau horaire historique
Description du problème
Lors de la mise à jour vers Chrome 67, les utilisateurs rencontrent une erreur lors de la récupération des décalages horaires pour les dates antérieures à 1970. Par exemple, dans le fuseau horaire Europe/Moscou :
new Date("1900-01-01T00:00:00").getTimezoneOffset() -150 new Date("2018-05-30T00:00:00").getTimezoneOffset() -180
Explication
Dans 1900, le fuseau horaire Europe/Moscou avait un décalage de 02:30:17. Chrome 67 semble arrondir à 02 h 30 pour éviter les décalages inférieurs à la minute, ce qui entraîne le comportement observé.
Pourquoi les autres navigateurs n'affichent pas cette erreur
D'autres navigateurs peuvent ne pas appliquer ce comportement d'arrondi ou utiliser une base de données de fuseau horaire différente.
Bonnes pratiques
Pour éviter cette erreur, les applications ne doivent pas demander d'heure. informations de zone pour les dates antérieures à 1970. La base de données de fuseau horaire de l'IANA vise à fournir des données précises à partir de l'époque Unix, tandis que les données pour les périodes antérieures sont moins fiables.
Raison possible du changement dans Chrome 67
Les spéculations suggèrent que Chrome 67 a peut-être commencé à regrouper les données de fuseau horaire de l'IANA plutôt que de s'appuyer sur les données du système d'exploitation. Cela expliquerait la différence de comportement par rapport aux versions précédentes de Chrome.
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!