小时不输出正确

时间:2011-04-17 13:46:33

标签: php date time timezone

我使用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)。我已经在计算机上查看了我的日期和时间,时区是正确的。什么会导致这种情况发生,请帮忙。

3 个答案:

答案 0 :(得分:4)

这可能是由于时区设置不正确造成的。 (虽然奇怪的是%z是正确的,我认为它是正确的。)

您是否尝试使用相应的date_default_timezone_set来调用timezone value

答案 1 :(得分:1)

您必须先准确设置您的时区。

使用date_default_timezone_setHere是支持的时区列表。

答案 2 :(得分: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文件中正确配置。