Php:根据用户更改时区

时间:2014-01-11 11:49:41

标签: php mysql datetime timezone

有没有办法根据访问我网站的用户显示时区?我建立了一个评论框,我希望显示的评论显示我已设置的时间和日期,但我希望用户能够看到评论的时间信息,以便为用户的时区自动调整,所以我会看到一个与其他地区的人不同的时间戳。

我试着搜索这个,但我一直在看人们询问如何选择特定时区的问题,这不是我想要的。对不起,如果我提出了重复的问题。

目前我正在使用此代码显示日期和时间:

<?php echo datetime_to_text($comment_text["created"]); ?>

它正在使用的功能是:

function datetime_to_text($datetime="") {
$unixdatetime = strtotime($datetime);
return strftime("%B %d, %Y", $unixdatetime);
}

我认为我的数据库目前默认在UTC时区存储此信息。我不知道这是否相关,但我也看到了其他问题引用了php.ini文件,但我的服务器不允许我访问它或上传我自己的。

答案不需要在php中,如果事情更容易,我只是从未使用过javascript而且我用php编写了评论框代码,所以我只是默认使用它。

1 个答案:

答案 0 :(得分:0)

在php中,您只能使用像GeoIP of Maxmind这样的数据库来映射 IP到地理定位。虽然IP地址不包含有关真实位置的任何信息,但是有人可以使用他的IP地址在世界各地使用VPN或使用代理,TOR网络,仅列举IP地址不可靠的情况。但是很多人获得他们的ISP的IP并且不使用任何这些工具。 这些信息由这些DB收集。因此,根据您想要达到的目标,这个猜测可能对您来说足够准确。

另一种可能性是geolocation个浏览器(相对新功能)要求提供位置,用户需要确认您想要获取此信息然后您可以将其传递给您的服务器,以将地理信息存储在会话中。