La funzione Javascript è stata scritta prendendo spunto da questa discussione su Stackoverflow
Javascript
function updateClock() {
var dateFuture = new Date(new Date().getFullYear() + "-12-31 23:59:59");
var dateNow = new Date();
var seconds = Math.floor((dateFuture - (dateNow)) / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
hours = hours - (days * 24);
minutes = minutes - (days * 24 * 60) - (hours * 60);
seconds = seconds - (days * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60);
document.getElementById("days").innerHTML = "<span>" + days + "</span> Days";
document.getElementById("hours").innerHTML = "<span>" + hours + "</span> hours";
document.getElementById("minutes").innerHTML = "<span>" + minutes + "</span> minutes";
document.getElementById("seconds").innerHTML = "<span>" + seconds + "</span> seconds";
}
setInterval(updateClock, 1000);
Richiamo la funzione ogni secondo con setInterval()
html
<div id="days"></div>
<div id="hours"></div>
<div id="minutes"></div>
<div id="seconds"></div>
css
div#countdown {
border:1px solid #999;
height:60px;
text-align: center;
padding:4px 0;
background-color: #FFFAD3;
}
div#countdown div {
float:left;
padding:4px;
color: #999;
font-family: Courier;
font-size: .9em;
margin-left:3px;
}
div#countdown div span{
display: block;
background-color: #FFF;
border:1px solid #999;
padding:0;
color: #000;
font-size: 1.1em;
}