time()导致不同的时间

时间:2013-07-15 17:08:54

标签: php datetime

我认为它与PHP时区有关。我目前的日期和时间是10:51 pm和2013年7月15日。 (我在Windows上,我的右下方显示它:))

我使用以下php代码

<?php
echo date("d/m/y : H:i:s", time());
?>

显示的浏览器:15/07/13 : 19:06:15 (提前约3小时45分钟。)

第一个问题:为什么会发生?

第二个问题:如果是因为PHP的默认时区是其他东西(我的格林尼治标准时间5:45),我如何编辑php的conf(或其他)以便time()返回我的时区的时间?

3 个答案:

答案 0 :(得分:3)

您可以在php.ini文件中设置时区,也可以在代码中进行设置:

<?php
date_default_timezone_set('America/Los_Angeles');
?>

http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone http://php.net/manual/en/function.date-default-timezone-set.php http://www.php.net/manual/en/timezones.php

同样date_default_timezone_get()会显示您当前设置的时区。

答案 1 :(得分:2)

您应该在php.ini

上查看date.timezone

答案 2 :(得分:2)

请记住PHP是服务器 -side。它返回的时间绑定到运行代码的服务器。 php.ini设置为date.timezone。但您可以使用date_default_timezone_set来专门为您的脚本覆盖时区。但是,如果您想在客户端的时区中获取时间,则必须使用像Javascript一样的客户端 - 侧方法。