【发布时间】:2020-10-29 23:55:47
【问题描述】:
我可能很懒惰,但这个问题似乎更容易提出而不是努力解决。 我已经能够使用 mysql cli 设置时区,使用查询
SET @@session.time_zone = "+01:00";
我想知道,对于一个 php Web 应用程序(保持用户时区),这个查询必须多久进行一次。是否适用于 MySql/MariaSql 数据库引擎的每个连接?
【问题讨论】:
我可能很懒惰,但这个问题似乎更容易提出而不是努力解决。 我已经能够使用 mysql cli 设置时区,使用查询
SET @@session.time_zone = "+01:00";
我想知道,对于一个 php Web 应用程序(保持用户时区),这个查询必须多久进行一次。是否适用于 MySql/MariaSql 数据库引擎的每个连接?
【问题讨论】:
我已经进行了一些谷歌搜索,结果表明,对于具有不同时区用户的网络应用程序的时区设置 - 是在每个数据库连接时完成的。
$offset = "+01:00";
$db->exec("SET time_zone='$offset';");
https://www.sitepoint.com/synchronize-php-mysql-timezone-configuration/
这个问题其实比较深,涉及到db中的field-type,应该是TIMESTAMP还是Datetime。
注意 我通过阅读和一些经验发现,最好让时区设置依赖于 PHP,并让 MySql db 不知道时区...保持 db 为 GMT。
请参阅此内容以供参考: PHP, MySQL and Time Zones
【讨论】: