web-dev-qa-db-fra.com

Bonne façon d'obtenir l'heure du serveur Web et de l'afficher sur des pages Web

Je développe mon site Web en utilisant PHP Codeigniter Framework. Je souhaite afficher l'heure de mon serveur Web et de l'ordinateur du client sur certaines de mes pages Web. J'ai réussi à afficher l'heure côté client en utilisant JavaScript qui met à jour l'heure toutes les secondes en utilisant simplement la fonction setInterval('clientMachineTime()',1000). Je souhaite afficher l'heure du serveur Web avec le même fonctionnement de l'horloge côté client. J'ai cherché sur Google pour cela, mais je ne trouvais pas exactement ce que je cherchais. Toute suggestion serait appréciée. Merci.

11
d_4dinkey

Répondant à ma propre question

J'ai trouvé ce que je cherchais sur Webdeveloper.com et cela a parfaitement fonctionné pour moi.

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

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

À votre santé!!

19
d_4dinkey

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>

5
Marcelo Ribeiro

Cet exemple essaiera d’afficher l’heure du serveur toutes les secondes.

<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 Notez que l'exemple ci-dessus est sans php.

SOURCE2

http://www.webdeveloper.com/forum/showthread.php?228309-Getting-server-date-time-with-no-server-side-script

2
user584583

Assez drôle, alors que je cherchais des informations sur Codeigniter pour voir si je pouvais répondre à votre question ou non, j’ai trouvé un runnable qui répond exactement à vos besoins:

http://runnable.com/UXczcazDrMMiAAGl/how-to-do-ajax-in-codeigniter-for-php

En bref, le script ci-dessus utilise Codeigniter et jQuery pour demander au serveur son heure actuelle (via AJAX).

Bonne codage.

1
AndreasHassing