Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP日期不准确_Php_Date - Fatal编程技术网

PHP日期不准确

PHP日期不准确,php,date,Php,Date,我有以下代码: $date = date("m/d/Y H:i:s"); 但从我的电脑时间来看,它显示日期提前1天,时间延迟5小时 例如: 我的日期/时间是2011年7月25日晚上10:12 此代码显示: 2011年7月26日05:12:43 可能是什么问题?它可能运行在与您的计算机不同时区的服务器上。在调用date()之前,可以使用将其设置为正确的时区;从下面的列表中找到您所在时区的正确时区标识符:我敢打赌这是一个设置问题。当您echo date\u default\u timezone\u

我有以下代码:

$date = date("m/d/Y H:i:s");
但从我的电脑时间来看,它显示日期提前1天,时间延迟5小时

例如: 我的日期/时间是2011年7月25日晚上10:12

此代码显示: 2011年7月26日05:12:43


可能是什么问题?

它可能运行在与您的计算机不同时区的服务器上。在调用
date()
之前,可以使用将其设置为正确的时区;从下面的列表中找到您所在时区的正确时区标识符:

我敢打赌这是一个设置问题。当您
echo date\u default\u timezone\u get()时会发生什么。我猜它与您当前时区的时间相差7小时。

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

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


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

除了使用此功能在脚本中设置默认时区外,您还可以使用INI设置date.timezone来设置默认时区

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

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

date.timezone=“美国/中央”


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

当您评论说您在太平洋时区时,您要求获取时间的电话提前7小时返回,现在是7月,您得到的时间是GMT

虽然你可以也可能应该按照PaulPRO的建议使用date_default_timezone_set,但一定要有意识地考虑时区。总是

在涉及日期和时间的应用程序中,必须了解两个概念:

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

当您专门处理本地日期(或本地时间或本地日期时间)时,您会遇到此类问题。尽可能多地使用真实的瞬间


结束发言。:-)

您是在服务器上还是在本地开发机器上运行此代码?您在哪个时区?你是怎么得到时间的?请不要试图获取没有时区的时间。@Berk local development machine