为什么php timezone在本地主机上是正确的,但上传到服务器后不正确?

arb*_*les 1 php mysql timezone datetime phpmyadmin

我正在使用php和mysql.当我在本地主机上的mysql数据库中插入时间值时,将应用正确的时间.我正在使用该now()功能.

当我将时间值插入我的网络托管帐户的my_sql数据库时,它显示错误的时区.

如果来自不同时区的用户发布了某些内容,并且我在我的时区中查看了该内容,我该如何设置它以便向用户显示的时间与用户从中查看的时间相关.

$sql1="INSERT INTO notifications (stamp) 
            VALUES (now());
Run Code Online (Sandbox Code Playgroud)

cee*_*yoz 6

您的服务器位于不同的时区.

您可以在PHP和MySQL中设置时区.

date_default_timezone_set('America/Los_Angeles');
Run Code Online (Sandbox Code Playgroud)

在MySQL中:

SET time_zone = 'America/Los_Angeles';
Run Code Online (Sandbox Code Playgroud)

或者,您可以将时间存储为timestamp列,这些列始终是基础数据中的UTC.