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/AJAx 实时搜索的最佳方法 - xml 还是 MySQL? [关闭]