php时间偏移mysql实时

Posted

技术标签:

【中文标题】php时间偏移mysql实时【英文标题】:Php time offset mysql real time 【发布时间】:2014-10-23 13:08:09 【问题描述】:

在股票市场应用程序中,我们发现了一个错误,即日变减去时间偏移时出现的错误。即对于我们的情况,它发生在服务器时间 00:00 到 02:00,我们正在花费时间 GMT+2。 php时间戳之外返回错误的日期值。例如昨天晚上 01:15 左右 php 返回 28/08/2014 即使实际日期是 29/08/2014。后来我发现 php 总是将时间戳视为日期的 GMT,所以当 mysql 从时间戳返回正确的日期值时,php 不会。因此,该错误会出现一段时间。

我在互联网上搜索过它。有人提到了 php 的这种行为,但大多数情况下他们给出了在 php.ini 中更改 timezoen 的解决方案。但该解决方案不能在这里使用.. 有谁知道解决办法吗?

【问题讨论】:

您的 MySQL 实例和 PHP 服务器实例具有不同的时区,您需要通过将两者配置为相同的时区来纠正这一点,或者在代码中实施解决方案以适应差异。我建议前者。我通常只是将所有服务器配置设置为 GMT 并处理时区转换,以便在应用层显示。 【参考方案1】:

这是你需要的功能 - http://php.net/manual/en/function.date-default-timezone-set.php

date_default_timezone_set('America/Los_Angeles');

或者在 php.ini 文件中 - 在顶部添加

date.timezone = "US/Central" //or your city

您也可以使用 Etc/GMT 2

【讨论】:

Etc/GMT-2 将获得 +2 固定偏移区域(符号倒置)。但我建议不要使用它们,因为它们不考虑 DST。

以上是关于php时间偏移mysql实时的主要内容,如果未能解决你的问题,请参考以下文章

实时聊天、消息处理 - Socket.io、PHP、MySQL、Apache

共享主机的实时通知(PHP、MySQL、Yii)

使用“datetime”获取实时偏移时出错

PHP/AJAx 实时搜索的最佳方法 - xml 还是 MySQL? [关闭]

使用 JQuery、PHP 和 MySQL 为实时统计页面优化多个连续的 ajax 调用

使用 PHP 和 jQuery 进行实时聊天。在哪里存储信息? mysql还是文件?