与Doing calculations in MySQL vs PHP
有多大关系现在,我们的数据库假设系统时间是UTC并使用它来计算NOW()。 PHP明确地将时区设置为UTC(因此它不受服务器时区转换的影响)。
服务器上时区的意外转移在数据库级别搞砸了这种关系,我现在正试图找出理想的配置:
将Mysql配置为UTC,但也从以下角度配置:
我们的应用程序可能在其他人的服务器上,他们可能有不同的TZ(因此我无法在mysql / server级别设置时区)。如何在特定数据库级别配置它?
答案 0 :(得分:3)
你应该看看UTC_TIMESTAMP();这可确保数据库中的时间戳字段始终为UTC。让PHP脚本从用户浏览器信息中进行偏移。这也可以使用DATE_ADD / DATE_SUB或更好CONVERT_TZ()来完成。
答案 1 :(得分:1)
让PHP在将其存储在数据库中之前设置它。将其设置为GMT,然后根据需要根据用户时区进行计算。