本地时区不正确


Local time zone not correct

我在 PHP 中获取用户的本地时区时遇到一些问题。该网站必须访问多个时区,因此设置静态时区将不起作用。

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

我在Stackoverflow和Google上看过这里,有很多线程可以解决这个问题,但没有一个线程以简单方便的方式解决这个问题,我的猜测是一定有某种方法可以方便地解决这个问题。

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

PHP 无法访问用户的时区。您可以想象通过JavaScript获取它,或者尝试通过其IP地址上的geoIP来获取它,但这可能很笨拙并且容易出错。

你最好的选择,也是谷歌、Facebook、Twitter等主要参与者普遍采用的选择,就是询问用户是否必须在其中显示日期,询问他们的时区。一些网站还采用将日期显示为"5 小时前"而不是日期/时间的方法。