[PHP] Trouver le décallage horaire du "systeme"

Trouver le décallage horaire du "systeme" [PHP] - PHP - Programmation

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?

Reply

Marsh Posté le 28-01-2012 à 13:33:14   

Reply

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()
 

Reply

Marsh Posté le 29-01-2012 à 19:56:44    

billgatesanonym a écrit :


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 ?


 
Avec n'importe quel version de PHP > 4, et n'importe quel OS ^^
 

billgatesanonym a écrit :


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" ).


 
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 :


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()
 


 
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é :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed