countdown timer with reference to timestamp
HTML
<h1>
This code compares 2 timestamps. Calculates the difference in minutes and seconds and starts a cauntdown timer based on the time difference.
</h1>
<div > Present time = <span id="nowTime"></span></div>
<div > Reference TimeStamp = <span id="thenTime"></span></div>
<div > Difference in time = <span id="alertDiv"></span></div>
<div > seconds = <span id="secs"></span></div>
<div > mins = <span id="mins"></span></div>
<div class="timer">Time left = <span id="timer"></span></div>
CSS
.timer{
color:#00a84e;
font-size: 40px;
}
JavaScript
var date1 = new Date();
var date3 = '1460540284'
var date2 = new Date("2015-12-09T02:34:51.199Z");
var timeDiff = Math.abs((date1.getTime()-Date.parse("2015-12-09T02:34:51.199Z"))/60000);
var duration = Math.abs((date1.getTime()-Date.parse("2015-12-09T02:34:51.199Z")));
seconds = parseInt((duration/1000)%60);
minutes = parseInt((duration/(60000))%60);
minutes = (minutes < 10) ? "0" + minutes : minutes;
seconds = (seconds < 10) ? "0" + seconds : seconds;
document.getElementById('secs').innerHTML =seconds;
document.getElementById('mins').innerHTML =minutes;
document.getElementById('nowTime').innerHTML =date1;
document.getElementById('thenTime').innerHTML =date2;
document.getElementById('alertDiv').innerHTML =timeDiff;
document.getElementById('timer').innerHTML =
minutes + ":" + seconds;
startTimer();
function startTimer() {
var presentTime = document.getElementById('timer').innerHTML;
var timeArray = presentTime.split(/[:]+/);
var m = timeArray[0];
var s = checkSecond((timeArray[1] - 1));
if(s==59){m=m-1}
//if(m<0){alert('timer completed')}
document.getElementById('timer').innerHTML =
m + ":" + s;
setTimeout(startTimer, 1000);
}
function checkSecond(sec) {
if (sec < 10 && sec >= 0) {sec = "0" + sec}; // add zero in front of numbers < 10
if (sec < 0) {sec = "59"};
return sec;
}