Ben en iyi yolu, en geri sayım süresini diyelim, artık belli bir noktaya zaman içinde farkı hesaplamak için ne olduğunu merak ediyordum.
Ben belirli bir noktada bir closetime olan bir müzayede var, bu sefer format "DATETIME 00-00-000 00:00:00" bir MySQL kaydında saklanır. Bu kayıt closetime denir.
Şimdi, benim web sitesinde bir PHP dosyası ile bu zaman alır JavaScript kodu var. JavaScript her saniye setInterval 1000
kullanarak döngüler. PHP dosyası db closetime alır, ve bu biçimde geri gönderir
strtotime($result['closetime']);
Ve ben istek zaman olsun, ben kullanıcının saat kapalı olabilir, çünkü JavaScript zaman sunucu zamanı kullanmak, değil istiyorum.
strtotime(date("H:i:s", $_SERVER['REQUEST_TIME']))
Ben bu iki damgaları geri göndermek ve JavaScript aralarındaki zaman farkını hesaplamak. Ben bu açık olması gerektiğini düşünüyorum, değerleri ben CurrentTime ve closeTime çağrı geri PHP göndermek, bunu yapmak için bu işlevi kullanın.
function auctionDelayTime(currentTime,closeTime){
totaldelay = closeTime - currentTime;
if(totaldelay <= 0){
return 'ended';
}else{
if( days=parseInt((Math.floor(totaldelay/86400))) )
totaldelay = totaldelay % 86400;
if( hours=parseInt((Math.floor(totaldelay/3600))) )
totaldelay = totaldelay % 3600;
if( minutes=parseInt((Math.floor(totaldelay/60))) )
totaldelay = totaldelay % 60;
if( seconds=parseInt((Math.floor(totaldelay/1))) )
totaldelay = totaldelay % 1;
return hours+':'+formatTimes(minutes)+':'+formatTimes(seconds);
}
}
function formatTimes(value){
return value < 10 ? '0'+value : value;
}
Bu kod bir çok şey o kadar basit bir şey yapmak olduğunu düşünüyorum. Herkes daha iyi bir çözüm ya da belki daha 'güzel' bir kod var mı.
Tadını çıkarın!