Maison >interface Web >js tutoriel >Pourquoi `-new Date().getTimezoneOffset()/60` est-il une approche obsolète de la détection des fuseaux horaires ?
Comprendre la détection du fuseau horaire
La détection du fuseau horaire d'un utilisateur joue un rôle crucial dans la personnalisation des applications Web en fonction des préférences horaires locales. Cet article explore les différentes approches permettant de détecter le fuseau horaire, en abordant spécifiquement la confusion entourant la syntaxe -new Date().getTimezoneOffset()/60.
Détermination du fuseau horaire via le navigateur
Une méthode populaire consiste à tirer parti de la fonctionnalité intégrée du navigateur. En utilisant des bibliothèques telles que jstimezonedetect, vous pouvez déterminer le fuseau horaire du client directement depuis le navigateur. La fonction jstz.determine() renvoie un objet contenant le fuseau horaire détecté, que vous pouvez ensuite traiter côté serveur.
Exemple de code :
<code class="javascript">$(document).ready(function(){ var tz = jstz.determine(); // Determines the time zone of the browser client var timezone = tz.name(); //For e.g.:"Asia/Kolkata" for the Indian Time. $.post("url-to-function-that-handles-time-zone", {tz: timezone}, function(data) { //Preocess the timezone in the controller function and get //the confirmation value here. On success, refresh the page. }); });</code>
Comprendre -new Date().getTimezoneOffset()/60
Cette syntaxe représente une approche obsolète à la détection du fuseau horaire. La méthode getTimezoneOffset() renvoie le nombre de minutes entre l'heure locale et l'UTC (temps universel coordonné). En divisant cette valeur par 60, vous obtenez le décalage horaire en heures. Cependant, cette méthode présente des limites car elle suppose que le fuseau horaire de l'utilisateur est correctement défini dans le navigateur et ne tient pas compte de l'heure d'été.
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!