2011-08-08 87 views
0

我需要一些幫助來編寫一個腳本,從unix時間戳記中倒計時的天數,小時數,分鐘數和秒數。在JavaScript和PHP中的時間戳倒計時

時間戳與PHP

<? php echo hours();?> 

創建,我希望腳本中使用JavaScript實時倒計時。

2天3時十五分39秒

希望有人能幫助我一點:)

+2

什麼,準確地說,不'<? PHP回聲小時();?>'寫入文檔,JavaScript應該用於倒計數?例如,從UNIX紀元開始它是幾秒鐘?無數的秒數/分鐘/小時數倒數?倒計時的時間?什麼? – RobG

回答

6

首先,你有一些PHP錯誤。它應該是例如

<?php echo time(); ?> 

爲了便於展示示例,我在JavaScript中使用了時間戳。

http://jsfiddle.net/pimvdb/AvXd3/

// the difference timestamp 
var timestamp = (Date.now() + 1000 * 60 * 60 * 24 * 3) - Date.now(); 

timestamp /= 1000; // from ms to seconds 

function component(x, v) { 
    return Math.floor(x/v); 
} 

var $div = $('div'); 

setInterval(function() { // execute code each second 

    timestamp--; // decrement timestamp with one second each second 

    var days = component(timestamp, 24 * 60 * 60),  // calculate days from timestamp 
     hours = component(timestamp,  60 * 60) % 24, // hours 
     minutes = component(timestamp,   60) % 60, // minutes 
     seconds = component(timestamp,   1) % 60; // seconds 

    $div.html(days + " days, " + hours + ":" + minutes + ":" + seconds); // display 

}, 1000); // interval each second = 1000 ms 
+0

* setInterval *將不會按指定的時間間隔運行,並且會緩慢漂移,因此它將與系統時鐘不同步,偶爾會跳過兩秒鐘。更好的方法是調用* setTimeout *,計算下一個整秒之後大約20ms的時間。它可能仍然會跳過,但是隻有當系統忙時,不是因爲漂移,並且大部分會與系統時鐘同步「打勾」。 – RobG