php - 获取用户时区

标签 php javascript timezone

Possible Duplicate:
How can I determine a web user's time zone?

最好的方法是什么? php 或 javascript。有人可以提供一些片段吗?谢谢。

最佳答案

这将使您获得作为 PHP 变量的时区。 我使用 jQuery 和 PHP 编写了一个函数。这已经过测试,确实有效!

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

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

这将读取我们现在要创建的 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://example.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) 或您所在的任何时区。

您可以在我的 blog 上阅读更多相关信息

关于php - 获取用户时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4746249/

相关文章:

php - 表中传递的所有零值

javascript - 具有 JSON 值的 ionic 搜索弹出窗口

Python 时区全名

java - 如何在 Joda Time/Java 8 中列出时区偏移量、时区 ID 和长名称?

php - 来自数据库 : echo data 2nd table not working 中两个不同表的回显数据

php - 404 错误但来自 Codeigniter Framework 中的 JQuery Ajax 的正确响应

php - wap程序在php中打印1到12的3行3列

javascript - 使用 AJAX 加载图像

javascript - 从 ASP.NET MVC 调用外部 .js

python - 让 Python 响应 Windows 时区变化