我一直在这里和谷歌上阅读有关MySQL存储日期时间和日期的方式,但我似乎无法很好地理解它,以及我需要做什么来实现我的目标。我也不完全确定我的主机设置是否正确,因为它的行为似乎没有达到我的预期。
我的目标是:日期时间和日期将存储为 UTC +00:00。然后,当使用 PHP 查询数据库时,日期时间和日期将在显示之前根据用户的设置进行转换。
使用 SELECT @@global.time_zone、@@session.time_zone 查询服务器;返回两者的 SYSTEM。
另外,如果我尝试使用 SET time_zone'-05:00' 进行查询;它不会更改服务器输出的日期时间。将其更改为任何其他值也不会更改它。
MySQL只与运行它的服务器进行交互,所以它只会给出该服务器的时区。您必须在客户端获取时区。
编辑:
MySQL没有时区文字,因此您可以使用UTC_TIMESTAMP()以UTC格式获取当前时间,也可以将时间转换为其他地方。