Php:根据用户更改时区[重复]

Posted

技术标签:

【中文标题】Php:根据用户更改时区[重复]【英文标题】:Php :change timezone based on user [duplicate] 【发布时间】:2014-01-30 11:05:24 【问题描述】:

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

我尝试搜索此内容,但我不断看到人们询问如何选择特定时区的问题,这不是我想要的。抱歉,如果我提出了重复的问题。

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

<?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】:

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

另一种可能是geolocation 的浏览器(相对新功能)询问位置,用户需要确认您想要此信息,然后您可以传递它到您的服务器以在会话中存储地理信息。

【讨论】:

以上是关于Php:根据用户更改时区[重复]的主要内容,如果未能解决你的问题,请参考以下文章

获取用户时区 [重复]

如何根据用户位置设置日期和时间[重复]

获取用户时区相关日期[重复]

在Android上将用户时区转换为我的时区[重复]

如何通过PHP中的IP地址获取时区[重复]

PHP配置:依赖系统的时区设置是不安全的[重复]