Comment récupérer le fuseau horaire du client à l'aide d'AJAX avec jQuery et PHP
,Question :
Comment puis-je déterminer le fuseau horaire utilisé par un client dans une application PHP, en renvoyant idéalement le décalage horaire en secondes par rapport à UTC ?
,Réponse :
Vous trouverez ci-dessous une solution qui utilise jQuery et PHP :
Code PHP :
<code class="php">session_start(); $timezone = $_SESSION['time'];</code>
Ce code initialise la session et récupère le fuseau horaire du client à partir de la variable de session 'time'.
Code jQuery :
<code class="javascript">$(document).ready(function() { if ("<?php echo $timezone; ?>".length==0){ var visitortime = new Date(); var visitortimezone = "GMT " + -visitortime.getTimezoneOffset()/60; $.ajax({ type: "GET", url: "http://domain.com/timezone.php", data: 'time='+ visitortimezone, success: function(){ location.reload(); } }); } });</code>
Ce code jQuery s'exécute côté client lors du chargement de la page. Il détecte si le fuseau horaire a déjà été défini et, sinon, envoie le fuseau horaire actuel du client à un script PHP nommé 'timezone.php'.
timezone.php Script :
<code class="php">session_start(); $_SESSION['time'] = $_GET['time'];</code>
Ce script PHP stocke simplement le fuseau horaire du client dans la variable de session 'time'.
Utilisation :
<code class="html"><script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script></code>
Une fois cette configuration effectuée est terminé, le code PHP pourra accéder au fuseau horaire du client via la variable de session 'time'. Le fuseau horaire sera représenté sous la forme d'un décalage de fuseau horaire UTC/GMT en secondes, par exemple -7 pour GMT-7.
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!