获取Web服务器时间并在Web页面上显示它的正确方法

d_4*_*key 12 javascript php codeigniter

我正在使用开发我的网站PHP Codeigniter Framework.我想在我的一些网页上显示我的网络服务器的时间以及客户端的机器时间.我成功地显示了客户端时间JavaScript,通过简单地使用setInterval('clientMachineTime()',1000)函数每秒更新时间 .我希望显示Web服务器时间与我的客户端时钟相同.我用谷歌搜索,但找不到我想要的东西.任何建议将不胜感激.谢谢.

d_4*_*key 19

回答我自己的问题

我在Webdeveloper.com上找到了我想要的东西,它对我来说非常有用.

serverDate.js

var xmlHttp;
function srvTime(){
    try {
        //FF, Opera, Safari, Chrome
        xmlHttp = new XMLHttpRequest();
    }
    catch (err1) {
        //IE
        try {
            xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (err2) {
            try {
                xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (eerr3) {
                //AJAX not supported, use CPU time.
                alert("AJAX not supported");
            }
        }
    }
    xmlHttp.open('HEAD',window.location.href.toString(),false);
    xmlHttp.setRequestHeader("Content-Type", "text/html");
    xmlHttp.send('');
    return xmlHttp.getResponseHeader("Date");
}

var st = srvTime();
var date = new Date(st);
Run Code Online (Sandbox Code Playgroud)

HTML

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Server date/time</title>
    <script language="javascript" src="serverDate.js"></script>
  </head>
  <script language="javascript">
  var localTime = new Date();
  document.write("Local machine time is: " + localTime + "<br>");
  document.write("Server time is: " + date);
  </script>
  <body>
  </body>
Run Code Online (Sandbox Code Playgroud)

干杯!!

  • 记得在信用到期时过账.你显然没有对此进行编码,因此你应该发布学分:[原始答案学分](http://www.webdeveloper.com/forum/showthread.php?228309-Getting-server-date-time-with-no-server - 侧脚本) (14认同)
  • 我给了你学分,我花了很长时间向你解释如何处理它让我感到困惑.简单地说,编辑你的'答案'并写下你从这里得到的代码:http://www.webdeveloper.com/forum/showthread.php?228309-Getting-server-date-time-with-no-server-side -script.而你错了,很多人都在自己编码.实际上,stackoverflow上的大多数人自己编码,并询问他们遇到问题时遇到的问题. (13认同)
  • 亲爱的,也许你有经验,但我没有发布代码来获得积分,而是为了那些像我一样的人。当然,我没有对此进行编码,但我用我正在寻找的内容回答了我的问题。也许这对某人有帮助。 (3认同)
  • 当然.但就像我所说的那样,将信用放在信用到期的地方.这与经验无关. (3认同)

小智 5

function getServerTime() {
  return $.ajax({async: false}).getResponseHeader( 'Date' );
}
console.log('Server Time: ', getServerTime());
console.log('Locale Time: ', new Date(getServerTime()));
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)