2012-05-08 21 views
0

我想用jquery倒計時與服務器同步,所以對所有訪問者來說時間都是一樣的。這些文件使用靜態設置託管在AppEngine上。 PHP在AppEngine上不起作用。JQuery倒計時+服務器與AppEngine的同步

是否可以在AppEngine的靜態設置下使用Python與服務器時間同步? - 如何在JQuery中使用datetime.now()?

function countdown() { 
    var eventTime = new Date('May 23, 2012 08:00:00'); 
    $('#time-left').countdown({ until: eventTime, layout: '<ul class="timer"><li class="days">{dn}</li> <li class="hours">{hnn}</li><li class="mins">{mnn}</li><li class="secs">{snn}</li></ul>', 
           serverSync: function() { return new Date('datetime.now()') }}); 
} 

感謝您的幫助。

回答

0

其難以計算的時間在客戶端,因爲它在不同的時區變化....所以獲得UTC服務器時間和創造UTC偏移本地時間變量,然後比較秒DEFF在當地時間

// return string must be in UTC time yyyy/MM/dd H:mm:ss format in Json result 
$.get("timerequestmethod", function (data) { 
       var dateArray = data.split(' '); 
       var seconds = getSeconds(dateArray); 

       // create countdown until 'seconds' declare in above statement 
      }); 

getSeconds = (function (dateArray) { 
     var dt = dateArray[0].split('/'); 
     var tm = dateArray[1].split(':'); 
     var times = new Date(); 
     times.setUTCFullYear(dt[0], (dt[1] > 0 ? dt[1] - 1 : dt[1]), dt[2]); 
     times.setUTCHours(tm[0]); 
     times.setUTCMinutes(tm[1]); 
     times.setUTCSeconds(tm[2]); 
     return (times - new Date())/1000; 
    });