www.webdeveloper.com
Results 1 to 8 of 8

Thread: server side clock countdown

  1. #1
    Join Date
    Apr 2009
    Posts
    5

    server side clock countdown

    My code

    Code:
    function zeroPad(num,count)
    {
        var numZeropad = num + '';
        while(numZeropad.length < count) {
            numZeropad = "0" + numZeropad;
        }
        return numZeropad;
    }
    
    function getLocalTime() {
       var rightNow = new Date();
       var date1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);
       var date2 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0);
       var temp = date1.toGMTString();
       var date3 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
       var temp = date2.toGMTString();
       var date4 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
       var hoursDiffStdTime = (date1 - date3) / (1000 * 60 * 60);
       var hoursDiffDaylightTime = (date2 - date4) / (1000 * 60 * 60);
       if (hoursDiffDaylightTime == hoursDiffStdTime) {
          return "GMT" + hoursDiffStdTime;
       } else {
          return "GMT" + hoursDiffStdTime + " <small>DST</small>";
       }
    }
    
    function getTimezone(){
       var d= new Date();
       var offs= d.getTimezoneOffset();
       var str= offs> 0? '+': '';
       str+= offs%60? offs+' minutes, ': (offs/60)+' hours, ';   
       var s= d.toString();
       var tz= /(\: *\d{2} *)([a-z]+)([\-\+]\d+)? *\(?([a-z ]+)?/i.exec(s) || [];   
       if(!tz[3]) tz[4]= tz[2];   
       if(offs==0) return tz[4] || ' GMT';
       return ' GMT '+str+ (tz[4] ||  '');
    }
    
    
    
    function countdownTimer(gotTime,elementName)
    {
       
        var idInfo = document.getElementById(elementName);
        var elementHour = elementName+'_hour';
        var idInfoHour = document.getElementById(elementHour);
       
        // Write up my date functions, now and then
        var d = new Date();
        var d2 = new Date(gotTime);
    
        // Time in miliseconds, for now and then
        var nowLocalTime = d.getTime();
        var thenLocalTime = d2.getTime();
       
        // global offset, should be the same for BOTH
        var offsetTime = (d.getTimezoneOffset()*(60000));
       
        // Convert thenTime & nowTime to GMT time
        var thenTime = thenLocalTime+offsetTime;
        var nowTime = nowLocalTime+offsetTime;
    
        // Get the hour/minute/sec in...local...time...
        var localHours = zeroPad(d2.getHours(),2);
        var localMinutes = zeroPad(d2.getMinutes(),2);
        var localSeconds = zeroPad(d2.getSeconds(),2);
    
        diff = (thenTime-nowTime);
       
        // Get our varables/minutes/seconds/hours/mili/days
        var milliseconds=Math.floor(diff % 1000);  
        diff=diff/1000;           
        var seconds=Math.floor(diff % 60);
        diff=diff/60;
        var minutes=Math.floor(diff % 60);
        diff=diff/60;
        var hours=Math.floor(diff % 24);
        diff=diff/24;
        var days=Math.floor(diff);
       
        // Add leading zero
        hours = zeroPad(hours,2);
        minutes = zeroPad(minutes,2);
        seconds = zeroPad(seconds,2);
    
        if(hours < 1) {
            // Hour return
            hourReturn = '<span style="color: red;">'+hours+':'+minutes+':'+seconds;
    
            // Write our final return var
            returnVar = ''+hours+':'+minutes+':'+seconds+'</span>';
        } else {
            // Hour Return
            hourReturn = '';
    
            // Write our final return var
            returnVar = ''+hours+':'+minutes+':'+seconds;
        }
       
        // Return our results
        if(idInfo) {
            idInfo.innerHTML = returnVar;
        }
        if(idInfoHour) {
            idInfoHour.innerHTML = hourReturn;
        }

    above is a countdown timer, but it uses the clients clock and not server side clock, how would i solve this so that it only uses the server side clock?

  2. #2
    Join Date
    Apr 2003
    Location
    Netherlands
    Posts
    21,654
    Use a server side language to write the time to the script before sending the page to the user.
    At least 98% of internet users' DNA is identical to that of chimpanzees

  3. #3
    Join Date
    Apr 2009
    Posts
    5
    im really new to js, which functions would that be? would you or anyone mind giving an example using my code?

  4. #4
    Join Date
    Apr 2009
    Posts
    5
    i tried a few functions, but still the same prob, need help on this one so the clock is only from the server

  5. #5
    Join Date
    Apr 2003
    Location
    Netherlands
    Posts
    21,654
    A server side language; PHP, ASP, etc, not JavaScript
    At least 98% of internet users' DNA is identical to that of chimpanzees

  6. #6
    Join Date
    Apr 2009
    Posts
    5
    I used the php date('g'); function and now it dosent show anything

  7. #7
    Join Date
    Apr 2003
    Location
    Netherlands
    Posts
    21,654
    Do you have a PHP enabled site?
    At least 98% of internet users' DNA is identical to that of chimpanzees

  8. #8
    Join Date
    Apr 2009
    Posts
    5
    Yep - i tried


    Code:
    function zeroPad(num,count)
    {
        var numZeropad = num + '';
        while(numZeropad.length < count) {
            numZeropad = "0" + numZeropad;
        }
        return numZeropad;
    }
    
    function getLocalTime() {
       var rightNow = <?php date('G');?>;
       var date1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);
       var date2 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0);
       var temp = date1.toGMTString();
       var date3 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
       var temp = date2.toGMTString();
       var date4 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
       var hoursDiffStdTime = (date1 - date3) / (1000 * 60 * 60);
       var hoursDiffDaylightTime = (date2 - date4) / (1000 * 60 * 60);
       if (hoursDiffDaylightTime == hoursDiffStdTime) {
          return "GMT" + hoursDiffStdTime;
       } else {
          return "GMT" + hoursDiffStdTime + " <small>DST</small>";
       }
    }
    
    function getTimezone(){
       var d= <?php date('G');?>;
       var offs= d.getTimezoneOffset();
       var str= offs> 0? '+': '';
       str+= offs%60? offs+' minutes, ': (offs/60)+' hours, ';   
       var s= d.toString();
       var tz= /(\: *\d{2} *)([a-z]+)([\-\+]\d+)? *\(?([a-z ]+)?/i.exec(s) || [];   
       if(!tz[3]) tz[4]= tz[2];   
       if(offs==0) return tz[4] || ' GMT';
       return ' GMT '+str+ (tz[4] ||  '');
    }
    
    
    
    function countdownTimer(gotTime,elementName)
    {
       
        var idInfo = document.getElementById(elementName);
        var elementHour = elementName+'_hour';
        var idInfoHour = document.getElementById(elementHour);
       
        // Write up my date functions, now and then
        var d = <?php date('G');?>;
        var d2 = new Date(gotTime);
    
        // Time in miliseconds, for now and then
        var nowLocalTime = d.getTime();
        var thenLocalTime = d2.getTime();
       
        // global offset, should be the same for BOTH
        var offsetTime = (d.getTimezoneOffset()*(60000));
       
        // Convert thenTime & nowTime to GMT time
        var thenTime = thenLocalTime+offsetTime;
        var nowTime = nowLocalTime+offsetTime;
    
        // Get the hour/minute/sec in...local...time...
        var localHours = zeroPad(d2.getHours(),2);
        var localMinutes = zeroPad(d2.getMinutes(),2);
        var localSeconds = zeroPad(d2.getSeconds(),2);
    
        diff = (thenTime-nowTime);
       
        // Get our varables/minutes/seconds/hours/mili/days
        var milliseconds=Math.floor(diff % 1000);  
        diff=diff/1000;           
        var seconds=Math.floor(diff % 60);
        diff=diff/60;
        var minutes=Math.floor(diff % 60);
        diff=diff/60;
        var hours=Math.floor(diff % 24);
        diff=diff/24;
        var days=Math.floor(diff);
       
        // Add leading zero
        hours = zeroPad(hours,2);
        minutes = zeroPad(minutes,2);
        seconds = zeroPad(seconds,2);
    
        if(hours < 1) {
            // Hour return
            hourReturn = '<span style="color: red;">'+hours+':'+minutes+':'+seconds;
    
            // Write our final return var
            returnVar = ''+hours+':'+minutes+':'+seconds+'</span>';
        } else {
            // Hour Return
            hourReturn = '';
    
            // Write our final return var
            returnVar = ''+hours+':'+minutes+':'+seconds;
        }
       
        // Return our results
        if(idInfo) {
            idInfo.innerHTML = returnVar;
        }
        if(idInfoHour) {
            idInfoHour.innerHTML = hourReturn;
        }
    and i dont know where im going wrong

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles