[Quick]Utiliser la fonction date avec un locale() de choix

Utiliser la fonction date avec un locale() de choix [Quick] - PHP - Programmation

Marsh Posté le 04-08-2006 à 16:13:08    

Salut,
 
Voilà.
 
Le serveur sur lequel s'exécutent mes scripts PHP est aux Etats Unis.
 
Donc, avec une date GMT-5.
 
Et donc, lorsque je fais appel à date, la date ne correspond pas à nos fuseaux horaires à nous, cad GMT+1.
 
Je voudrais savoir ce que je pourrais faire pour obtenir la bonne date, avec le fuseau GMT+1, lorsque je fais appel à date.
 
Je précise que tout le bazar tourne sous PHP 4.4.1, donc, je ne peux pas faire un date_default_timezone_set()...
 
Et j'aimerais avoir à éviter de rajouter "à la main" mes 6h à mon timestamp UNIX.

Reply

Marsh Posté le 04-08-2006 à 16:13:08   

Reply

Marsh Posté le 04-08-2006 à 18:10:03    

Tu peux  utiliser :
 
putenv('TZ=Continent/Region');
 
Pour avoir la liste des Continent/Region vas voir sur cette page :
 
http://www.expertsrt.com/tutorials/Matt/zone.tab.txt

Reply

Marsh Posté le 04-08-2006 à 18:47:46    

Code :
  1. date("d/m/Y", $mon_time_en_gmt_moins_5 + 3600*6)

?

Reply

Marsh Posté le 04-08-2006 à 19:25:13    

lkolrn a écrit :

Code :
  1. date("d/m/Y", $mon_time_en_gmt_moins_5 + 3600*6)

?


 
Ou encore mieux (si vraiment tu ne peux pas utiliser putenv() sur ton serveur) :

Code :
  1. define(TIME_SHIFT, 3600*6);
  2. function ts_date($format, $tms) {
  3.     return date($format, $tms + TIME_SHIFT);
  4. }


Et la tu t'en tires juste avec un petit chercher/remplacer.

Reply

Marsh Posté le 04-08-2006 à 21:26:40    

Alors, résultat des courses:
 
La méthode avec le pputenv marche parfaitement. (en espérant que ça e crée pas de ralentissement??)
 
L'autre méthode que vous m'avez suggérée ne m'aurait pas convenue, car pas portable...Ca aurait dépendu de où se trouve mon serveur...

Reply

Marsh Posté le 05-08-2006 à 20:55:13    

Bon, me voici de retour.
 
Alors, sur les deux serveurrs Linux que j'ia pu tester (Apache 1.x et PHP4.42 pour l'un et 5.x pour l'autre), ça marche très bien.
 
Je peux même, dans le même script, faire plusieurs putenv, des fois avec TZ=Europe/London, avec America/Neww_York, etc... Et l'heure affichée est changée.
 
Par contre, quand je teste chez moi, sous un PHP tournant sous Windows, ça ne marche pas. Que ce soit sous PHP4.42 ou PHP5.1
 
Bon, ça arche sous Linux, donc, je suis sauvé...
 
Mais je reste dubitatif.
 
Car c'est la seule méthode portable que j'ai trouvé... (cad qui me permette d'avoir du "Paris", quel que soit l'enroit où se trouve mon serveur...

Reply

Sujets relatifs:

Leave a Replay

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