Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在javascript中获取托管服务器(LAN)日期时间_Php_Javascript_Datetime - Fatal编程技术网

Php 如何在javascript中获取托管服务器(LAN)日期时间

Php 如何在javascript中获取托管服务器(LAN)日期时间,php,javascript,datetime,Php,Javascript,Datetime,我有一个web应用程序,用户需要在文本框中获取周数。由于用户/客户机位于不同的时区,因此他们将根据机器日期时间获取周数。如何在javascript中调用托管服务器datetime。因此,我可以将日期转换为公共的周,而不考虑客户机的日期时间 托管服务器仅在LAN中连接,无法访问internet。服务器端语言为PHP 请帮助。 <html> <head> <script> window.date = new Date(<?php echo time()

我有一个web应用程序,用户需要在文本框中获取周数。由于用户/客户机位于不同的时区,因此他们将根据机器日期时间获取周数。如何在javascript中调用托管服务器datetime。因此,我可以将日期转换为公共的周,而不考虑客户机的日期时间

托管服务器仅在LAN中连接,无法访问internet。服务器端语言为PHP

请帮助。


<html>
<head>
<script>
   window.date = new Date(<?php echo time();?> * 1000);
   window.now = new Date();
   window.getTime = function() {
      var n = new Date();
      n = n.getTime() - window.now.getTime();
      return new Date(window.date.getTime() + n);
   }
</script>
window.date=新日期(*1000); window.now=新日期(); window.getTime=function(){ var n=新日期(); n=n.getTime()-window.now.getTime(); 返回新日期(window.Date.getTime()+n); }

然后您可以使用window.getTime()在任何地方访问它,它使用您的服务器时间+它们在您的页面上的时间

<script>
function sTime(callback) {
    callback=callback||alert;
    var XHRt = new XMLHttpRequest;
    XHRt.onreadystatechange = function() {
        if (XHRt.readyState == 4 && XHRt.status == 200) {
            callback( new Date(XHRt.getResponseHeader("date")) , XHRt);
        }
    };
    XHRt.open("HEAD", location.href, true);
    XHRt.send();
    return XHRt;
} /* end aHead() */

//demo to show remote and local times:
sTime(function(dt){ alert( [dt, new Date].join("\n"));});
</script>

函数时间(回调){
回调=回调| |警报;
var XHRt=新的XMLHttpRequest;
XHRt.onreadystatechange=函数(){
if(XHRt.readyState==4&&XHRt.status==200){
回调(新日期(XHRt.getResponseHeader(“日期”)),XHRt);
}
};
打开(“HEAD”,location.href,true);
XHRt.send();
返回XHRt;
}/*提前结束()*/
//演示如何显示远程和本地时间:
时间(函数(dt){alert([dt,新日期].join(“\n”);});

当我在firebug上运行时,我似乎落后了1秒,所以…

您需要从服务器返回时间,无论是在您提供的JS中还是通过AJAX。服务器端语言是PHPHello Brad。我需要用javascript。你能解释一下吗?@user220987让服务器用一个普通的HTML响应或通过AJAX或其他方式返回当前时间和时区信息(如果不重要的话甚至是UTC),或者;返回服务器时区,并使用moment.js将本地时间转换为服务器时间。如果您的服务器发出http日期头,并且应该发出http日期头,您只需拉取location.href和new Date(xhr.getResponseHeader(“Date”)的头即可获取服务器时间+ajax延迟。