2016-04-21 65 views
-1

我在PHP中获取用户的本地时区时遇到了一些麻烦。 该网站必须联系到多个时区,因此设置静态时区将不起作用。本地时区不正确

因此,如果我做date_default_timezone_get();它在我的时区(哥本哈根)关闭了两个小时。

我在这里看过Stackoverflow和谷歌,并且有很多线程可以解决这个问题,但没有一个以简单方便的方式解决这个问题,我的猜测是必须有一些以一种方便的方式来解决这个问题。

由于这与注册时间使用有关,所以这很有效。到目前为止,我只是将时区硬编码为哥本哈根,但由于即将启动,因此必须获取用户的确切时间。

+1

这可能是因为你的服务器位于哥本哈根以外。 – Tom

+0

这是不是很清楚你要问什么。正如你所说的,还有很多关于检测用户时区的Stack Overflow问题,所以你应该使用其中的一个答案。基本上它需要Javascript,因为它是* client *时区是相关的。我没有看到“没有答案很简单,因此必须有一个简单的方法”的逻辑。 –

回答

1

PHP无法访问用户的时区。您可以设想通过JavaScript获取它,或尝试通过geoIP对其IP地址进行尝试,但这可能很笨重,容易出错。

你最好的选择,以及像Google,Facebook,Twitter等主要玩家一般采用的方法就是询问用户他们的时区是否必须显示日期。有些网站也采取将日期显示为“5小时前”而非日期/时间的方法。