• 20-09-2010, 16:33:38
    #1
    Üyeliği durduruldu
    var now = new Date(); 
    var then = new Date(2010, 08, 22, 0, 0, 0); 
    var left = then.getTime() - now.getTime(); 
    var days = Math.floor(left / (1000 * 60 * 60 * 24));
    var hours = Math.floor(left / (1000 * 60 * 60)) - (days * 24);
    var minutes = Math.floor(left / (1000 * 60)) - (hours * 60);
    var seconds = Math.floor(left / 1000) - (minutes * 60); 
    if (left > 0) 
    document.write("Kampanyanin bitmesine " + days + " gun " + hours + ":" + minutes + ":" + seconds + " kaldı!")
    burada ne gibi bir mantık hatası yapıyorum acaba lütfen bilen birisi yardımcı olsun.

    hours kısmına kadar her şey çok normal. kalan saatten kalan gün * (24) ile de istediğim kalan saati de buluyorum ya ni şu andaki saati gecenin 24üne tamamlayan saati. ama gerisinde başarısızım şöyle bir ekran aldım mesela

    7:1473:25258 kaldi! burdaki dakika ve saati nasıl düzeltebilirim olması gereken 7:28:50 gibi bir sonuç almam lasım.. Çok teşekkürler
  • 20-09-2010, 19:12:55
    #2
    Üyeliği durduruldu
    yokmu bilen?
  • 22-09-2010, 10:30:35
    #3
    daha önceden yazmış olduğum fonksiyonu bir kaç değişiklik ile ekliyorum işinizi görür;

        
    
         function Sayac() {
            // PROGRAMDA HESAPLADIĞIMIZ ZAMAN FARKINI YAZIDIRYORUZ Örn: 1.10:10:10 - (GÜN.SAAT:DAKİKA:SANİYE) veya 10:10:10 (SAAT:DAKİKA:SANİYE) 
            var gelenDeger = document.getElementById('hidKalan').value;
            var gelen = gelenDeger.split('.')[0].split(':');
            if (gelenDeger.indexOf('.') < gelenDeger.indexOf(':')) {
                var gelenGun = eval(gelenDeger.split('.')[0]);
                gelen = gelenDeger.split('.')[1].split(':');
                gelen[0] = eval(gelen[0]) + (24 * gelenGun);
            }
    
            var saat = eval(gelen[0]);
            var dakika = eval(gelen[1]);
            var saniye = eval(gelen[2]);
    
            Kalan = (saat * 60 * 60) + (dakika * 60) + saniye;
            KalanSure();
            setInterval('KalanSure()', 1000);
        }
        var Kalan = 0;
        function KalanSure() {
    
            var kalanSaniye = (Kalan % 60);
            var kalanDakika = ((Kalan - kalanSaniye) / 60) % 60;
            var kalanSaat = (((Kalan - kalanSaniye) / 60) - kalanDakika) / 60;
    
            if (kalanSaniye < 10) {
                kalanSaniye = '0' + kalanSaniye;
            }
            if (kalanDakika < 10) {
                kalanDakika = '0' + kalanDakika;
            }
            if (kalanSaat < 10) {
                kalanSaat = '0' + kalanSaat;
            }
    
            Kalan = eval(Kalan) - 1;
            // GÜNCEL ZAMANI EKRANDAKİ NESNELERE YAZDIRIYORUZ
            document.getElementById('lblSaat').innerHTML = kalanSaat;
            document.getElementById('lblDakika').innerHTML = kalanDakika;
            document.getElementById('lblSaniye').innerHTML = kalanSaniye;
            if (eval(Kalan) == 0) {
                // EĞER KALAN SÜRE 0 OLMUŞ İSE YAPILACAK İŞLEMLER
            }
        }
    bu kodları kullanarak canlı sayaç yapabilirsiniz. kullandığınız scripting dillerinden biri ile zaman farkını sayac fonksiyonunda belirttiğim formatta hidKalan id li bir hidden a atmanız yeterli olacaktır.