2011-08-03 4 views
0

i ont réglé le fuseau horaire à tout fuseau horaire que l'utilisateur a par exemple "America/New_York"date_default_timezone_set ("fuseau horaire") et l'horodatage mysql

date_default_timezone_set("America/New_York"); 

alors je fais les déclarations fluides

$data =mysql_query("SELECT DATE FROM TABLE WHERE ID = 2"); 
$row = mysql_fetch_array($data); 

echo date("H:i:s",strtotime($row['data'))); 

les DATE colonne stocker date en fuseau horaire GMT .. je veux afficher la date équivalente en

n'importe quel fuseau horaire l'utilisateur préfèrent

ce qui est faux, je suis peut-être quelque chose de mal @

toute aide s'il vous plaît.

Répondre

1

Notez mes modifications ...

echo date("H:i:s", strtotime($row['data']) + date('Z')); // date('Z') returns timezone offset in seconds 
+0

je veux mettre tout timezone comme l'utilisateur préfère ... pas de nouveau travail tout le temps – confucius

+0

Notez que mon edit - 'date()' utilise 'Z' pour déterminer le décalage de fuseau horaire de GMT basé sur ce qui est actuellement défini comme votre fuseau horaire par défaut. – 65Fbef05

0

Si vous avez votre fuseau horaire table activé:

mysql_query("SET time_zone='EST';"); 
$data =mysql_query("SELECT DATE FROM TABLE WHERE ID = 2"); 
//...etc. 

Si vous n'êtes pas:

mysql_query("SET time_zone='-05:00';"); 
$data =mysql_query("SELECT DATE FROM TABLE WHERE ID = 2"); 
//...etc.