一尘不染

获取用户时区[重复]

javascript

可能重复:
如何确定网络用户的时区?
哪个是最好的方法?php或javascript。有人可以向我提供一些摘要吗?谢谢。


阅读 244

收藏
2020-04-25

共1个答案

一尘不染

这将使您的时区成为PHP变量。我使用jQuery和PHP编写了一个函数。经过测试,可以正常工作!

在您希望将时区作为变量的PHP页面上,将此代码段放在页面顶部附近:

<?php    
    session_start();
    $timezone = $_SESSION['time'];
?>

这将读取我们现在将要创建的会话变量“时间”。

在同一页面的该<head>部分中,首先需要包括jQuery:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>

同样在本<head>节中,粘贴此jQuery:

<script type="text/javascript">
    $(document).ready(function() {
        if("<?php echo $timezone; ?>".length==0){
            var visitortime = new Date();
            var visitortimezone = "GMT " + -visitortime.getTimezoneOffset()/60;
            $.ajax({
                type: "GET",
                url: "http://domain.com/timezone.php",
                data: 'time='+ visitortimezone,
                success: function(){
                    location.reload();
                }
            });
        }
    });
</script>

您可能已经注意到,也可能没有注意到,但是您需要将URL更改为您的实际域。

最后一件事。您可能想知道timezone.php是什么东西。好吧,这很简单:(创建一个名为 timezone.php
的新文件,并使用上面的URL指向它)

<?php
    session_start();
    $_SESSION['time'] = $_GET['time'];
?>

如果此方法正常工作,它将首先加载页面,执行JavaScript,然后重新加载页面。然后,您将能够读取$ timezone变量,并乐意使用它!它返回当前UTC/ GMT时区偏移量(GMT -7)或您所在的任何时区。

2020-04-25