2011-02-15 5 views
3

Je suis en train de tester un système d'entrée, mais le problème est que le fuseau horaire de mon hôte est différent de celui où je vis. Il est 3h sur mon serveur alors que sur mon ordinateur local, il est 16h. Comment est-ce que j'ajuste automatiquement le code que je tire de la base de données pour être montré comme fuseau horaire semblable à où je suis?Gestion des fuseaux horaires en PHP et MySQL?

Répondre

3

Vous pouvez définir le fuseau horaire par défaut à l'aide de la fonction date_default_timezone_set(). Il définit le fuseau horaire par défaut utilisé par toutes les fonctions date/heure dans un script.

date_default_timezone_set('America/Los_Angeles'); 

Jetez un oeil à cette page:

http://php.net/manual/en/function.date-default-timezone-set.php

Vous pouvez trouver une liste des fuseaux horaires ici

http://php.net/manual/en/timezones.php

vous pouvez aussi changer de fichier php.ini si vous avez les permissions pour cela. Vous pouvez changer l'option date.timezone à votre fuseau horaire comme celui-ci:

date.timezone = "US/Central" 

Pour plus d'informations sur date.timezone, allez sur ce site:

http://kb.siteground.com/article/How_to_change_the_datetimezone_value_in_PHP.html

+0

tu me bats d'afficher exactement la même liens par seconde: D –

+0

Mais que se passe-t-il si je veux récupérer la date et la formater en fonction de l'origine de mon visiteur? Par exemple, j'ai posté quelque chose à 17 heures sur mon heure locale. Un autre visiteur a consulté mon site mais ce visiteur devrait voir la version locale de mon temps sur sa zone. –

+0

Vous devriez détecter le code du fuseau horaire du visiteur. Vous pourriez le faire avec JavaScript. J'ai trouvé un site qui pourrait vous donner la solution: http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/ –

Questions connexes