有没有一种方法可以根据用户访问我的网站来显示时区?我建立了一个评论框,我希望显示的评论显示我设置的时间和日期,但我希望用户能够看到评论的时间信息,并根据用户的时区自动调整,这样我会看到与其他区域的人不同的时间戳。
我试着搜索了一下,但我不断看到人们问如何选择特定时区的问题,这不是我想要的。对不起,如果我重复了一个问题。
目前,我使用以下代码显示日期和时间:
<?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编写了评论框代码,所以我只是默认使用它。
在php中,您只能使用类似Maxmind的GeoIP数据库,该数据库将IP映射到地理位置。虽然IP地址不携带任何关于真实位置的信息,因为有人可以使用VPN在世界各地使用他的IP地址,或者使用代理TOR网络,仅列举一些IP地址不可靠的情况。但许多人获得了ISP的IP,却不使用任何这些工具。这些信息由这些数据库收集。因此,根据你想要实现的目标,这种猜测对你来说可能足够准确。
另一种可能性是向浏览器的geolocation
(一个相对的新功能)询问位置,用户需要确认您想要获得这些信息,然后您可以将其传递给服务器,以在会话中存储地理信息。