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