PHP日期不准确

时间:2011-07-26 05:12:18

标签: php date

我有这段代码:

$date = date("m/d/Y H:i:s");

但它显示日期提前1天,计算机时间显示迟到5小时。

对于前: 我的日期/时间是07/25/2011 10:12 PM

此代码显示: 07/26/2011 05:12:43

可能是什么问题?

6 个答案:

答案 0 :(得分:3)

它可能运行在与您的计算机不同的时区的服务器上。在致电date()之前,您可以使用date_default_timezone_set将其设置为正确的时区;从此列表中为您的时区找到正确的时区标识符:http://www.php.net/manual/en/timezones.php

答案 1 :(得分:0)

我打赌这是一个timezone设置问题。当你echo date_default_timezone_get();时会发生什么。我猜这是从你当前时区起7小时的时间。

答案 2 :(得分:0)

听起来您正在运行PHP的计算机上的时区设置不正确。更正问题取决于您使用的操作系统。

答案 3 :(得分:0)

服务器是否在本地?如果是,你必须改变PHP的时区设置(在php.ini中)以匹配你自己的设置,这将在整个站点上改变它。或者您可以使用date_default_timezone_set

在单个页面上进行更改

如果服务器不是本地服务器,则时区基于它所在的位置,如果您有访问权限,则可以更改时区(如果您从提供商处购买并且共享,则不会。)

答案 4 :(得分:0)

您可以使用INI设置date.timezone来设置默认时区,而不是使用此功能在脚本中设置默认时区。

如果您的PHP脚本没有显示正确的时间,原因是您的托管服务器很可能位于不同的时区。通过更改名为date.timezone的PHP中的设置,可以轻松解决此问题。

根据您的位置,您可以使用以下选项在PHP中设置特定的date.timezone值,该选项应添加到您的本地php.ini文件中:

date.timezone =“US / Central”

上面的示例假设您要将PHP脚本的时区设置为US / Central。已提供支持的时区的完整列表here,您只需将“US / Central”替换为所需的时区即可。

答案 5 :(得分:0)

当你评论说你在太平洋时区,并且你要求时间提前7小时返回,并且是7月时,你有时间在GMT。

虽然您可以并且可能应该使用PaulPRO建议的date_default_timezone_set,但请尝试有意识地考虑时区。总是

在涉及日期和时间的应用程序中,了解两个概念非常重要:

  • 时刻
  • 本地日期,本地日期时间,当地时间......

瞬间是一个时间点,对于世界上每个人来说都是同一时刻。它通常表示为自纪元以来的毫秒数,但也可以表示为带有时区的日期 。本地{日期,时间,日期时间}是没有时区的东西。像“7月26日”或“下午5:15”或“7月26日晚上10点29分”好的,但是什么时区?

当您专门处理当地日期(或当地时间或当地日期时间)时,您会遇到这些问题。尽可能地尝试使用真实的瞬间。

咆哮结束。 : - )