codeigniter 获取Web服务器时间并将其显示在网页上的正确方法

8ftvxx2r  于 7个月前  发布在  其他
关注(0)|答案(5)|浏览(59)

我正在使用PHP Codeigniter Framework开发我的网站。我想在我的一些网页上显示我的Web服务器的时间以及客户端的机器时间。我成功地显示了客户端时间使用JavaScript,只需使用setInterval('clientMachineTime()',1000)功能每秒更新时间。我想显示Web服务器时间与我的客户端时钟相同的工作。我谷歌了这一点,但不能找到我正在寻找的东西。任何建议都将不胜感激。谢谢。

wmvff8tz

wmvff8tz1#

问自己的问题

我在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);

字符串
联系我们

<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>


干杯!

mi7gmzs6

mi7gmzs62#

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

2ledvvac3#

这个例子将尝试每秒显示服务器时间。

<html>
<head>
<title></title>
<script type="text/javascript">

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);

function display_c(){
var refresh=1000; // Refresh rate in milli seconds
mytime=setTimeout('display_ct()',refresh)
}

function display_ct() {
var strcount
var st = srvTime();
var x = new Date(st);                       //new Date()
document.getElementById('ct').innerHTML = x;
tt=display_c();
}
</script>
</head>

<body onload=display_ct();>
<span id='ct' ></span>

</body>
</html>

字符串
Source1
http://www.plus2net.com/javascript_tutorial/clock.php注意上面的例子是php免费的。
源2
http://www.webdeveloper.com/forum/showthread.php?228309-Getting-server-date-time-with-no-server-side-script

wsxa1bj1

wsxa1bj14#

有趣的是,在查找有关Codeigniter的信息,看看我是否可以回答您的问题时,我发现了一个 runnable,它完全满足了您的需要:
http://runnable.com/UXczcazDrMMiAAGl/how-to-do-ajax-in-codeigniter-for-php
简而言之,上面的脚本使用Codeigniter和jQuery向服务器询问当前时间(通过AJAX)。
编码愉快。

cnjp1d6j

cnjp1d6j5#

在现代Vanilla JS中,它是:

let dateString = (await fetch("/your/url")).headers.get("date");

字符串
它将返回一个字符串,如下所示:

Wed, 08 Nov 2023 12:36:50 GMT

相关问题