mysql时间和php时间不一样
当我在MySQL中使用mysql时间和php时间不一样,php,mysql,datetime,Php,Mysql,Datetime,当我在MySQL中使用current\u timestamp时,我得到了正确的时间,但是当我使用 $mysqldate=date('Y-m-dh:i:s') 我得到的日期有一个小时的延迟(例如,下午4:42是下午5:42)。 我知道这两个函数都使用服务器的本地时间-有人能解释一下区别吗 谢谢。可能您的PHP服务器认为它位于不同的时区,或者它使用不同的区域设置和夏令时规则。有PHP区域设置,它从PHP.ini获取,而不是从系统时间获取。全局系统时间将通过/etc/localtime文件设置,这将是
current\u timestamp
时,我得到了正确的时间,但是当我使用
$mysqldate=date('Y-m-dh:i:s')代码>
我得到的日期有一个小时的延迟(例如,下午4:42是下午5:42)。
我知道这两个函数都使用服务器的本地时间-有人能解释一下区别吗
谢谢。可能您的PHP服务器认为它位于不同的时区,或者它使用不同的区域设置和夏令时规则。有PHP区域设置,它从PHP.ini获取,而不是从系统时间获取。全局系统时间将通过/etc/localtime文件设置,这将是大多数系统上/usr/share/zoneinfo/的符号链接或区域文件副本。应用程序将使用此作为默认设置
PHP可以通过两种不同的方式覆盖这一点:
在php.ini中
设置TZ环境变量,例如putenv(“TZ=US/Central”)代码>
函数(在PHP>=5.1.0中)
MySQL可以通过在连接后立即运行以下查询来覆盖这一点:
SET time_zone = 'US/Central'
如何让PHP提供服务器计算机上列出的默认服务器时间?PHP的date.timezone没有设置您确定您的MySQL和PHP在同一台服务器上,对吗?有些主机将MySQL放在不同的服务器上。