Countdown minus weekends and holidays
by makloon
HTML
<div class="countdown">
<div id="resDay">Days</div>
<div id="resHour">Hours</div>
<div id="resMinute">Minutes</div>
<div id="resSecond">Seconds</div>
</div>
CSS
.countdown {
text-align: center;
margin-top: 30px;
background: #5381E4;
padding: 60px 0;
}
.countdown div{
display: inline-block;
font-size: 50px;
font-weight: normal;
text-align: center;
margin: 0 15px;
padding: 0 30px;
color: #fff;
text-shadow: none;
vertical-align: middle;
}
JavaScript
var dateStart = new Date("2016-04-22T00:00:00");
var dateEnd = new Date("2016-06-01T00:00:00");
// Get difference between Start & End date
var diff = new Date(dateEnd.getTime() - dateStart.getTime());
// Count & Substract Saturdays & Sundays between the two dates provided
var countSatSun = getSaturdaysSundays(dateStart, dateEnd);
diff.setDate(diff.getDate()-countSatSun["sat"]);
diff.setDate(diff.getDate()-countSatSun["sun"]);
function update() {
diff = new Date(diff.valueOf() - 1000);
var diffDay = (diff.getUTCDate() - 1);
var diffHour = (diff.getUTCHours());
var diffMin = (diff.getUTCMinutes());
var diffSec = (diff.getUTCSeconds());
document.getElementById("resDay").innerHTML = diffDay;
document.getElementById("resHour").innerHTML = diffHour;
document.getElementById("resMinute").innerHTML = diffMin;
document.getElementById("resSecond").innerHTML = diffSec;
setTimeout(update, 1000);
}
function getSaturdaysSundays(startDate, endDate){
var totalSaturdays = 0;
var totalSundays = 0;
for (var i = startDate; i <= endDate; ){
if (i.getDay() == 6){
totalSaturdays++;
} else if (i.getDay() == 0){
totalSundays++;
}
i.setTime(i.getTime() + 1000*60*60*24);
}
var countSatSun = new Object();
countSatSun["sat"] = totalSaturdays;
countSatSun["sun"] = totalSundays;
return countSatSun;
}
$(document).ready(function(){
update();
});