У меня есть следующие, прекрасно работает для моих потребностей:Исключить выходные с даты/времени час кол
function funLoad(str1,str3,str4)
{
var dym1 = str1.split("/");
var d=new Date();
var dym2 = d.getMonth() + 1 + "-" + d.getDate() + "-" + d.getFullYear() + " " + d.getHours() + ":" + d.getMinutes() + ":00";
//var dym2 = "6 10 2013 09:00:00";
var start = Date.parse(dym1[1] + "-" + dym1[0] + "-" + dym1[2] + " " + str3 + ":" + str4 + ":00");
var end = Date.parse(dym2);
return (start-end)/(1000*60*60);
}
$("#btn1").click(function(event){
alert(funLoad($("#txt1").val(),$("#ddlHourTime").val(),$("#ddlMinuteTime").val()));
});
Вот является jsfiddle: http://jsfiddle.net/QTVWd/8/
Я понимаю, что это будет возможно только работа в IE8 , но я развиваюсь в среде интрасети, где каждый использует только IE8, так что это не проблема. Игнорируя это, этот скрипт просто получает выбранную дату и время, сравнивает его с текущей датой/временем и возвращает часы. Все хорошо до сих пор.
Проблема в том, что он считает выходные. Как я могу считать только часы в будние дни и исключать выходные дни, если начальная и конечная дата включают выходные? Например, если дата начала находится в пятницу, а дата окончания - в понедельник, она должна учитывать только часы в пятницу и понедельник, за исключением 48 часов в выходные.
Обратите внимание, что не каждый день длиннее 24 часов, при условии, дневной свет экономия времени действует в используемом часовом поясе (поскольку мы говорим конкретно о выходных днях здесь, есть два субботы в год, которые являются проблематичными). Насколько я могу судить по быстрому рассмотрению, ни один из ответов пока не объясняет этого. – CBroe