2011-08-03 65 views
0

我已设置的时区的任何时间段,用户具有 例如"America/New_York"date_default_timezone_set(“时区”)和MySQL时间戳

date_default_timezone_set("America/New_York"); 

然后我使流动的语句

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

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

的DATE列存储日期格林尼治标准时间..我想在

显示等效日期任何时区用户更喜欢

有什么不对,也许我错了@东西

请任何帮助。

回答

1

注意我的变化...

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

我想设置任何时区作为用户偏好...不是新工作始终 – confucius

+0

请注意我的编辑 - 'date()'使用'Z'来确定GMT的时区偏移量,基于目前设置为默认时区。 – 65Fbef05

0

如果启用了您的时区表:

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

如果你还没有:

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