Так без обработки времени крайних точек
while (startMs <= endMs) {
    day = (new Date(startMs)).getDay();
    day !== 0 && day !== 6 && ++resultDay;
    startMs += oneDayMs;
}
А остальное ksa и рони написали. Не можете сами
	
	| Сообщение от ksa | 
	| У нас есть чудесный раздел "Работа" |