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

zec*_*ude 11 php time timestamp date

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

$current_date_time = time();
echo date('n/j/y g:ia',$current_date_time);
Run Code Online (Sandbox Code Playgroud)

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

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

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

cle*_*tus 23

您可以通过在PHP脚本中显式设置时区来解决此问题.你可以这样做date_default_timezone_set():

date_default_timezone_set('America/Los_Angeles');
Run Code Online (Sandbox Code Playgroud)

以下是PHP支持的时区列表.

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