Timer

Timer that calculates time to any particular date.

by Web Carvers

HTML

<div class="timer"></div>

JavaScript

function calculateTime(t) {
    var Date1 = new Date();
    
    var Days = Math.floor((t.getTime() - Date1.getTime()) / (1000 * 60 * 60 * 24));
    var m_left = (t.getTime() - Date1.getTime()) % (1000 * 60 * 60 * 24);
    
    var hours = Math.floor(m_left / (60 * 60 * 1000));
    m_left = m_left % (60 * 60 * 1000);
    
    var min = Math.floor(m_left / (60 * 1000));
    m_left = m_left % (60 * 1000);
    
    var sec = Math.floor(m_left / 1000);
    
    return [Days, hours, min, sec];
}

function startTimer(t) {
    var k = setInterval(function(){
        var current = calculateTime(t);
        //$(".timer").text(current[0] + " - " + current[1] + " - " + current[2] + " - " + current[3]);
        if(parseInt(current[0]) < 0 || parseInt(current[1]) < 0 || parseInt(current[2]) < 0 || parseInt(current[3])< 0)
        {
            clearInterval(k);
        }
        else
        {
            //console.log(current[0] + " - " + current[1] + " - " + current[2] + " - " + current[3]);
            $(".timer").text("Ends in: " + current[0] + " Days  " + ((parseInt(current[1]) < 10) ? ('0' + current[1]): current[1]) +" : "+ ((parseInt(current[2]) < 10) ? ('0' + current[2]): current[2]) + " : " + ((parseInt(current[3]) < 10) ? ('0' + current[3]): current[3]));
        }
    }, 1000);
}
startTimer(new Date(2014, 4, 2, 14, 50, 0));