Trouver le décallage horaire du "systeme" [PHP] - PHP - Programmation
Marsh Posté le 29-01-2012 à 17:34:27
Avec quelle version de PHP ?
Cela a changé en PHP 5.1 et en PHP 5.2
Le systeme ? Est-ce de l'Unix ou du Windows ?
Si c'est de l'Unix, la variable d'environnement TZ devrait l'indiquer, et la fonction date +%:::z ne fait que lire cette variable d'environnement.
Donc, on peut récupérer cette info avec getenv("TZ" ).
Malheureusement, sous Windows, c'est plus compliqué, mais en général les serveurs Web sont sous Unix.
PHP, vesion >= 5.1, a la fonction date_default_timezone_get() qui va d'abord lire TZ, puis s'il ne la trouve pas, va lire la variable du php.ini.
PHP, version >= 5.2, a la fonction timezone_offset_get()
Marsh Posté le 29-01-2012 à 19:56:44
billgatesanonym a écrit : |
Avec n'importe quel version de PHP > 4, et n'importe quel OS ^^
billgatesanonym a écrit : |
Sous ma debian 6, l'utilisateur qui gère le serveur web n'as pas de variable d'environnement TZ configuré, donc getenv("TZ" ) n'est pas un moyen sur.
billgatesanonym a écrit : |
date_default_timezone_get() return le TZ configuré pour PHP si c'est la cas, donc ce n'est pas sur non plus.
Pour utiliser timezone_offset_get(), il faut déja connaitre le TZ souhaité
Marsh Posté le 28-01-2012 à 13:33:14
Bonjour.
j'ai besoin de connaitre le décallage horaire du systeme sur lequel un script PHP se trouve.
Je dis bien systeme et non pas se que l'on peut obtenir avec date( 'O' ); qui retourne le décallage horaire configuré avec PHP.
Sous linux, il est possible de faire un exec( 'date +%:::z' ); mais ca ne marche que pour linux.
De plus j'aimerais quelque chose de plus propre.
Connaissez-vous une fonction ou une constante qui pourrait m'aider?