为什么我的时间()在PHP中关闭了一个小时?

时间:2009-11-29 07:45:18

标签: php date time timestamp

我使用以下代码将当前日期和时间添加到我的数据库:

$current_date_time = time();
echo date('n/j/y g:ia',$current_date_time);

它显示为11/29/09 12:38 am应该是11/29/09 11:38 am

时间提前一小时。我在太平洋时区,我的托管服务提供商位于犹他州山区时区。这可能是它提前一小时的原因吗?

我该如何解决这个问题?我需要从一小时后删除吗?如果是这样,我该怎么做?或者是否存在某种其他方式来解释时区差异,以便它显示在太平洋时区时间?

1 个答案:

答案 0 :(得分:23)

您可以通过在PHP脚本中显式设置时区来解决此问题。您可以使用date_default_timezone_set()执行此操作:

date_default_timezone_set('America/Los_Angeles');

这是list of PHP supported timezones

您可能还想尝试一个调用date_default_timezone_get()的测试脚本来查看它实际设置的内容,以验证这实际上是问题所在。