Главная > Javascript > javascript: посчитать количество выходных и будней за указанный период

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;
Categories: Javascript Tags:
  1. Аноним
    Ноябрь 5th,2013 в 21:39 | #1

    СПАСИБО ОГРОМНОЕ!!!
    два дня искал скрипт, прочитал кучу все какието громоздкие, а Ваш скрипт идеально подошёл, и еще его немногоподправил для себя, считает на УРА.
    Вот если кому еще мною переработаный для считывания прямо из текстового поля
    только формат даты гггг-мм-дд

    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;
    }

Похожие публикации