Php mysql数据库的时区问题

Php mysql数据库的时区问题,php,mysql,datetime,Php,Mysql,Datetime,我在MySql数据库中插入了一些数据和datetime。当我回显日期时,它会显示正确的时间,但当我将其插入数据库时,它会提前2小时插入。我使用下面的日期和时间 date('Y-m-d H:i:s'); 我需要更改我的cpanel中的任何设置吗?只需设置日期\默认值\时区\设置('America/Los\ Angeles');在您的配置文件中。也许你的时区错了。将“America/Los_Angeles”更改为适合您所在地区的正确名称。 所谓配置文件,我指的是集中配置并在任何其他代码之前包含的任

我在MySql数据库中插入了一些数据和datetime。当我回显日期时,它会显示正确的时间,但当我将其插入数据库时,它会提前2小时插入。我使用下面的日期和时间

date('Y-m-d H:i:s');

我需要更改我的cpanel中的任何设置吗?

只需设置日期\默认值\时区\设置('America/Los\ Angeles');在您的配置文件中。也许你的时区错了。将“America/Los_Angeles”更改为适合您所在地区的正确名称。
所谓配置文件,我指的是集中配置并在任何其他代码之前包含的任何文件。

请注意,MySQL安装可以选择自己的非UTC时区*,因此尽量避免混合使用PHP time()和MySQL中的时间。如果您总是小心地将日期/时间存储为PHP时间戳(整数),则可以根据每个用户的本地时区和本地格式设置首选项进行格式设置

  • 我的加利福尼亚主机使用UTC表示PHP,使用PST表示MySQL时间戳

在这种情况下,它将输入Lonsangles时间,但我有来自不同国家的用户。在这种情况下,您可以将UTC设置为如下
date\u default\u timezone\u set('UTC')并通知用户这是UTC时间日期。所谓通知用户,我的意思是这样做:
日期('Y-m-dh:I:s'),'UTC'并且不明确地写入数据。您在哪个时区?MySQL可能正在将时间标准化为UTC,或者以其他方式将时间标准化timezone@JamesPalawaga我在迪拜/亚洲,但我有来自不同国家/地区的用户。我无法设置任何特定时区。您将希望在数据库中以UTC存储所有时区,然后在输出时将这些值转换为用户的正确时区。