Avatar billede fixbabe Nybegynder
15. april 2007 - 13:23 Der er 2 kommentarer og
1 løsning

Ændre ur fra computerens tid til serverens tid

Jeg har følgende script som jeg gerne vil have ændret så den tager serverens tid og ikke efter computerens tid. (Serveren kører php)
var myfont_face = "Verdana";
    var myfont_size = "8";
    var myfont_color = "#000000";
    var myback_color = "";
    var mywidth = 80;
    var my12_hour = 0;

    var dn = ""; var old = "";

    if (document.all||document.getElementById) { document.write('<span id="LiveClockIE" style="width:'+mywidth+'px; background-color:'+myback_color+'"></span>'); }
    else if (document.layers) { document.write('<ilayer bgColor="'+myback_color+'" id="ClockPosNS"><layer width="'+mywidth+'" id="LiveClockNS"></layer></ilayer>'); }
    else { old = "true"; show_clock(); }

    function show_clock() {

        //show clock in NS 4
        if (document.layers)
                document.ClockPosNS.visibility="show"
        if (old == "die") { return; }

        var Digital = new Date();
        var hours = Digital.getHours();
        var minutes = Digital.getMinutes();
        var seconds = Digital.getSeconds();

        if (my12_hour) {
            dn = "AM";
            if (hours > 12) { dn = "PM"; hours = hours - 12; }
            if (hours == 0) { hours = 12; }
        } else {
            dn = "";
        }
        if (minutes <= 9) { minutes = "0"+minutes; }
        if (seconds <= 9) { seconds = "0"+seconds; }

        myclock = '';
        myclock += '<font style="color:'+myfont_color+'; font-family:'+myfont_face+'; font-size:'+myfont_size+'pt;">';
        myclock += hours+':'+minutes+':'+seconds+' '+dn;
        myclock += '</font>';

        if (old == "true") {
            document.write(myclock);
            old = "die"; return;
        }

        if (document.layers) {
            clockpos = document.ClockPosNS;
            liveclock = clockpos.document.LiveClockNS;
            liveclock.document.write(myclock);
            liveclock.document.close();
        } else if (document.all) {
            LiveClockIE.innerHTML = myclock;
        } else if (document.getElementById) {
            document.getElementById("LiveClockIE").innerHTML = myclock;
        }

        setTimeout("show_clock()",1000);
}
Avatar billede roenving Novice
15. april 2007 - 23:53 #1
F.eks.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tæl servertid</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
</style>
<script type="text/javascript">
var serverTime = 1176673253;//<?php print time() ?>;
var timeDiff = null;
window.onload = function(){
  timeDiff = new Date().getTime() - serverTime*1000;
  setInterval("visTid()",1000);
}
function visTid(){
  document.getElementById("minSpan").firstChild.nodeValue = new Date(new Date().getTime()+timeDiff).format("Dddd dd-mm-yyyy hh:uu:ss");
}
</script>

<script type="text/javascript" src="http://roenving.users.whitehat.dk/date/roenvingDate.js"></script>
</head>
<body>
<span id="minSpan">En span-tekst</span>

</body>

</html>
Avatar billede roenving Novice
16. april 2007 - 00:24 #2
Hrm, der skal vist bruges et minus og ikke et plus:

function visTid(){
  document.getElementById("minSpan").firstChild.nodeValue = new Date(new Date().getTime() - timeDiff).format("Dddd dd-mm-yyyy hh:uu:ss");
}
Avatar billede fixbabe Nybegynder
22. august 2007 - 13:46 #3
Jeg håber det er okay jeg lukker, jeg fik serveren til at synkronisere med en time server så uret på serveren passer.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester