javascript: посчитать количество выходных и будней за указанный период
order_from
и order_to
— массивы, содержащие значения дней, месяцов и лет периодов.
На выходе:
order_days
— интервал в днях;budn
— количество будней;vyh
— количество выходных.
var time_from=new Date(order_from['y'],order_from['m']-1,order_from['d']); var time_to=new Date(order_to['y'],order_to['m']-1,order_to['d']); var order_days=Math.floor((time_to.getTime()-time_from.getTime())/(1000*60*60*24)); var getday=new Date(); var vyh=0; var curday; for (i=0;i<=order_days;i++) { //getday.setDate(time_from.getDate()+i); getday.setTime(time_from.getTime()+((1000*3600*24)*i)); curday=getday.getDay(); if ((curday==0)||(curday==6)) { vyh++; } } var budn=order_days; budn=budn-vyh;
СПАСИБО ОГРОМНОЕ!!!
два дня искал скрипт, прочитал кучу все какието громоздкие, а Ваш скрипт идеально подошёл, и еще его немногоподправил для себя, считает на УРА.
Вот если кому еще мною переработаный для считывания прямо из текстового поля
только формат даты гггг-мм-дд
function day() {
var alt = new Date(document.getElementById(‘date1’).value);
var neu = new Date(document.getElementById(‘date2’).value);
var num =(neu.getTime() — alt.getTime())/(1000*60*60*24);
var getday=new Date();
var vyh=0;
var curday;
for (i=0;i<=num;i++) {
getday.setTime(alt.getTime()+((1000*3600*24)*i));
curday=getday.getDay();
if ((curday==0)||(curday==6)) {
vyh++;
}
}
var budn=num-vyh;
}