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