Below I've written a function that works out how many week days and how many weekend days their are between two given dates and stores them in an array. However, They arn't giving the right results. I cant figure out why. Any pointers?
The array is returning [7,0,7] instead of [5,2,7]
$(document).ready(function(){
var a = new Date(2014, 05, 12);
var b = new Date(2014, 05, 19);
var d = getDays(a, b);
var e = getDays(a, b);
console.log(e);
console.log(d);
function getDays(a, b){
var days = new Array();
days[0] = 0;
days[1] = 0;
days[2] = 0;
var x = dayDiff(a, b);
var c = new Date(a.getDate());
for(var i = 0; i < x; i++) {
c.setDate(a.getDate() + 1);
switch(c.getDay()){
case 0:
case 6:
days[1] += 1;
break
case 1:
case 2:
case 3:
case 4:
case 5:
days[0] += 1;
break;
}
}
days[2] = days[1] + days[0];
return days;
}
function dayDiff(a, b) {
return Math.round((b-a)/(1000*60*60*24));
}
});