O (1). ( 7), .
function countCertainDays( days, d0, d1 ) {
var ndays = 1 + Math.round((d1-d0)/(24*3600*1000));
var sum = function(a,b) {
return a + Math.floor( (ndays+(d0.getDay()+6-b) % 7 ) / 7 ); };
return days.reduce(sum,0);
}
, (1), (3) (6) 2014 :
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,1))
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,2))
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,3))
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,4))
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,5))
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,6))
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,7))
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,8))
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,9))
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,10))
countCertainDays([1,3,6],new Date(2014,0,1),new Date(2014,0,11))
. , d0 d1 Date, . Date, , , .