2011-04-18 40 views
5

Şu anda PHP'nin sağladığı tarih fonksiyonunu kullanarak web sayfamda tarih/saat gösteriyorum. Ancak, bu işlevi kullanarak, tarih/saat yalnızca sayfayı yeniden yüklerken güncellenir. Tarih/saat yerine her saniye güncellenmesini isterim.Gerçek zamanlı görüntüleme

Bunun için javascript veya jQuery/ajax kullanmam gerektiğini varsayalım, ancak bunun nasıl yapılacağına dair hiçbir fikrim yok. Burada birinin bana tavsiyede bulunmasını umuyordum.

Şimdiden teşekkürler.

+2

javascript Date() nesnesini kullanın ekran gerçek zamanlı tarih için JavaScript oblect/zaman Tarihi'ni kullanmak için suget. –

+0

Kullanıcının makinede geçirdiği süreyi göstermek istiyor musunuz (o zaman neden sadece görev çubuğuna bakmıyorlar?) Veya sunucunuzda saati göstermek mi istiyorsunuz?Ya da yaşadıkları dediklerinden saat diliminin gerçek zamanını göstermek ister misiniz? – Cups

cevap

5

İşte

var updateClock = function() { 
    function pad(n) { 
     return (n < 10) ? '0' + n : n; 
    } 

    var now = new Date(); 
    var s = pad(now.getUTCHours()) + ':' + 
      pad(now.getUTCMinutes()) + ':' + 
      pad(now.getUTCSeconds()); 

    $('#clock').html(s); 

    var delay = 1000 - (now % 1000); 
    setTimeout(updateClock, delay); 
}; 

Bu aksi takdirde zamanlamaları drift olsun beri sadece 1000ms zamanlayıcı sahip olmaktan daha doğrudur (jQuery kullanarak) kullanmak budur.

+0

Bir çekicilik gibi çalıştım! Teşekkür ederim! – Zilarion

0

jquery ajax

setTimeout(function(){ 
    $.ajax({ 
     url: "server.php", 
     type:"post", 
     success: function(data){ 
     $('#showtime').html(data); 

     } 
    }); 
),1000}); 

server.php

güncelleştirme sorgusu // burada uygun formatta

html

<div id="showtime"></div> 

ref tarih/zaman yankı http://api.jquery.com/jQuery.ajax/

+0

Görüyorum ki, bu her saniye çağrılan bir işlev olurdu .. Ancak bunu nasıl yaparım? – Zilarion

+0

Üzgünüz, şu anda görüntülediğim birimi kapatıp görüntüledim – Gowri

1

İstemcinin saatini veya sunucunun saatini göstermek mi istiyorsunuz? Web sayfanızda koşu saatine sahip olmak için javascript'e bakabilirsiniz, ancak kullanıcının bilgisayar zamanını gösterecektir. PHP sunucunun saatini gösterecektir.

http://www.elated.com/res/File/articles/development/javascript/creating-a-javascript-clock/clock.html

Veya jQuery eklentisi: JavaScript/jQuery kullanmak gerekir http://plugins.jquery.com/project/jqClock

+0

Evet, sunucunun saatini göstermesi gerekiyor (çünkü bu, mesaj alınırken gösterilen zamandır). Bu yüzden PHP'ye ihtiyacım var. – Zilarion

0

.

Ajax'ı kullanmamanızı ve zamanı yüklemek için Web sunucusuna yapılan çağrıları tavsiye etmem, çünkü her kullanıcı için bir saniyede bir HTTP isteği olabilir, bu da çok fazla trafiktir.

JavaScript bunu yapmak için bir öğretici burada: http://www.elated.com/articles/creating-a-javascript-clock/

("JavaScript" saat için Google'da arama birçok örnek vardır).

0

Her saniyede yoklama olmaksızın sunucu saatini veren bir yol, zaman damgasını javascript'e (biçimlendirilmiş saat değil) geçirmek, ardından javascript'in biçimlendirilmiş bir tarihe dönüştürmesine izin vermek ve 1 saniye eklemek için setTimeout'u kullanmaktır Damgaya, her seferinde yeni zaman damgasını biçimlendirmeniz yeterlidir. Bu size sunucu zamanını verir, ancak pahalı yoklama olmadan.

1

Sana

function Timer() { 
    var dt=new Date() 
    document.getElementById('time').innerHTML=dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds(); 
    setTimeout("Timer()",1000); 
} 
Timer(); 
İlgili konular