获取服务器和客户端之间的时区差异?PHP Javascript

获取服务器和客户端之间的时区差异?PHP Javascript,javascript,php,Javascript,Php,情景: 服务器系统遍布世界各地。 客户端计算机上的网页正在请求数据 问题: 如何知道任何服务器和任何客户机之间的时区偏移 代码: 网页向服务器上的php发布一个时间戳(使用get date函数),php应该获取该时间戳,并给出网页时间戳与其本地时间戳之间的差异 输出: 差别几乎不到70000微秒。即使服务器时区在PST,客户端在EST。这是正确的吗 我如何做到这一点 你为什么关心服务器的时区呢?在服务器上,使用UTC。服务器的位置几乎肯定是不相关的。您可能想知道客户机的当前UTC偏移量。。。这很

情景:

服务器系统遍布世界各地。 客户端计算机上的网页正在请求数据

问题:

如何知道任何服务器和任何客户机之间的时区偏移

代码:

网页向服务器上的php发布一个时间戳(使用get date函数),php应该获取该时间戳,并给出网页时间戳与其本地时间戳之间的差异

输出: 差别几乎不到70000微秒。即使服务器时区在PST,客户端在EST。这是正确的吗


我如何做到这一点

你为什么关心服务器的时区呢?在服务器上,使用UTC。服务器的位置几乎肯定是不相关的。您可能想知道客户机的当前UTC偏移量。。。这很容易得到;获取客户端的时区比较困难(但在其他问题中会讨论)。我们的服务器有两个小时的数据,我们必须显示在趋势上。但是,根据服务器时区的不同,读取的数据会减少3小时或x小时。因此,如果服务器和客户机之间的时区偏移量已知(如果我可以得到服务器的差异或本地时间),我可以在趋势上移动数据那么多分钟。你知道服务器和GMT之间的偏移量,对吗?你知道客户端和GMT之间的偏移量吗?所以,您也知道服务器和客户端之间的偏移量。客户端(javascript)中的时区偏移量是“getTimezoneOffset()”,我能够得到这个。如何在服务器端(php)获取时区偏移量。我正在使用php时区\u offset\u get manual获取偏移量。@developerwjk您说“您知道服务器和GMT之间的偏移量,对吗?”,不,我不知道服务器和GMT之间的偏移量。您能告诉我如何获取服务器和GMT之间的偏移量吗?
var DocumentTime = new Date();
function GetTimeZoneOffset()
    {
        var nTime = DocumentTime.getTime();
        var sUrl = xxxPhpUrl + '?TimeZoneOffSet=' + nTime;
        if(window.XMLHttpRequest)
        {
            var xhr = new XMLHttpRequest();
            xhr.open("GET", sUrl, true);
            xhr.onreadystatechange = function()
            {
                if (xhr.readyState == 4)
                {}
            }
            xhr.timeout = 30000;
            xhr.ontimeout = TimeOut;
            xhr.send(null);
        }
        nNow = null;
        nTime = null;
        sUrl = null;
    }

<body  önload="GetTimeZoneOffset()"
if (isset($_GET['TimeZoneOffSet']))
{
    $ClientTime = $_GET['TimeZoneOffSet'];
    $ServerTime = time();
    $ServerTime = $ServerTime*1000;
    $Diff = $ServerTime - $ClientTime;
    echo $Diff;
    echo " Server ";
    echo $ServerTime;
    echo " and client ";
    echo $ClientTime;
}