2011-04-17 85 views
0

我正在使用Wanp作为测试服务器。这里是我的代码:小时数不输出正确

$dt = time(); 
$mysql_datetime = strftime("%Y-%m-%d %H:%M:%S %p %z" , $dt); 
echo $mysql_datetime; 

这里是输出:

2011-04-17 01:36:55 PM Eastern Standard Time 

我的问题是,所有的信息都是正确的,除了那时辰,这是提前4小时。小时(01 PM)假设为(09 AM)。我在我的电脑上查看了我的日期和时间,并且时区正确。什么会导致这种情况发生,请帮助。

回答

1

你必须在其他任何事情之前正确设置你的时区。使用date_default_timezone_setHere是支持的时区列表。

0

你可以尝试使用DateTime类(假设你有一个合理的最新的PHP)?

喜欢的东西:

$dt = new DateTime(); 
echo $dt->format('Y-m-d H:i:s A e'); 

或者,如果它仍然得到了时区错了,你可以尝试将其指定:

$dt = new DateTime(null, new DateTimeZone('EST')); 
echo $dt->format('Y-m-d H:i:s A e'); 

反正更多的调试信息,我建议你看一下ini_get('date.timezone')如果不正确,应在您的php.ini文件中正确配置。