根据user-PHP的时区获取时间

根据user-PHP的时区获取时间,php,time,timezone,Php,Time,Timezone,我正在开发一个关于体育的问答论坛。如何获取登录用户的时区,以便根据该时区发布其查询。目前我正在这样做 Javascript var current_date = new Date(); var clock=current_date.getTimezoneOffset() / 60; gmt= -1 * clock; $.post("receive.php",{gmt:gmt}); Receive.php <?php // set timezone if(isset($_POST['g

我正在开发一个关于体育的问答论坛。如何获取登录用户的时区,以便根据该时区发布其查询。目前我正在这样做

Javascript 
var current_date = new Date(); var clock=current_date.getTimezoneOffset() / 60; gmt= -1 * clock; 
$.post("receive.php",{gmt:gmt});

Receive.php
<?php // set timezone
if(isset($_POST['gmt'])) 
{
    $_SESSION['timezone']=$_POST['gmt']*60*60;        
}
?>
Javascript
var current_date=新日期();var clock=当前日期。getTimezoneOffset()/60;gmt=-1*时钟;
$.post(“receive.php”,{gmt:gmt});
Receive.php

但对于那些破坏了Javascript的用户来说,这是行不通的。有更好的解决方案吗?

一个解决方案可以是:
1.检索用户的ip

$ipaddress = $_SERVER["REMOTE_ADDR"];
2.使用a分析ip地址。

3.获取此位置的时区

让用户在其选项/设置/配置中设置时区。否则,使用默认值(服务器,最受欢迎的访问者区域)。同意@MECU:如果您无法从Javascript获得它,那么唯一可用的答案是让用户手动输入它,或者只为他们选择一个默认值(如果您使用时区代码向他们显示时间,即使它不是他们的本地时区,对他们来说也是有意义的)。但老实说,你最后一次看到禁用Javascript的浏览器是什么时候?其他功能是否依赖JS?如果是这样的话,这个问题就没有意义了。还有,你怎么能确定用户的时区设置正确呢?伙计们,我刚刚在FB上测试了同样的功能。他们可以根据我现在的当地时间发帖。他们是否在使用地理位置ip数据库。尝试使用VPN进行检查,或更改计算机的时钟进行检查。但他们仍然发布了正确的时间,而不是我的计算机时钟的更改时间。@RayZ您可能在Facebook上有一个帐户,并且可能告诉了他们您的位置。他们可能会将其转换为本地时区。