mysql和localhost之间的时差?

时间:2018-03-29 14:25:21

标签: php mysql

我正在我的计算机上处​​理一个时钟的应用程序。当我单击打卡时,如果与我的计算机上的时间不同,则保存在数据库中的时间。我正在使用localhost来开发应用程序。我知道这可能是时区问题。我发现了这个问题:is the time of computer and localhost same?,并按照步骤操作,没有成功。我使用WampServer作为Web服务器。我浏览了php.ini文件并对date.timezone设置进行了更改,但没有任何更改。我确实安装了三个版本的php,并对每个版本进行了更改。我还发现Wamp使用链接到php4apache.ini的php.ini文件的符号链接,并在链接文件中进行了更改,仍然无效。

我按照这里的说明尝试检查php和mysql中的时间:Date/Time differences between MySql and PHP?。并发现mysql设置为SYSTEM,并且php设置为UTC。 这告诉我我没有正确设置PHP。所以我的问题是,PHP中还有另一个地方可以设置时区吗? WAMP中是否有一个设置时区的地方,或者仅在php中完成?

感谢您的帮助。特洛伊

2 个答案:

答案 0 :(得分:1)

好吧,我找到了解决方案。我使用PHP的日期和时间函数将时间调整为正确的值,然后再将其发送到数据库。不是我希望的解决方案,但它将完成工作,我可以继续该项目。感谢那些帮助过的人。

答案 1 :(得分:0)

使用CURRENT_TIME,使用SQL服务器的时间设置,而不是您在php.ini中写入的设置。通过按How do I set the time zone of MySQL?所述设置时区,您可以获得正确的值。

请记住,这些应该保持同步:在PHP中进行一些计算,而在数据库中进行一些计算会增加计算错误的风险。如果您使用PHP的date(或类似函数)无处不在或MySQL的时间函数,这是更安全的