Написать функцию для Google-таблицы
Всем привет! Народ, подскажите где можно взять алгоритм расчёта рабочего времени для Google-script? Ну или на JS?
Нужно между двумя датами подсчитать количество рабочих часов. Рабочий день с 9:00 до 18:00 Обед с 13:00 до 14:00 с учетом того что СБ и ВСКР - выходные. Помогите пожалуйста. Есть функция, которая к дате добавляет несколько рабочих часов, и возвращает новую дату с временем, вот она: function getDeadlineDate(date, work) { var datework = 0; var hour = date.getHours(); var timehour = hour; var week = getWeekDay(date); for(;;) { if (work >= 8) { work -= 8; datework += 1; } else { break; } } if (week == 6) { timehour = 9; datework += 2; } else if (week == 7) { datework += 1; timehour = 9; } if((hour > 18) || (hour < 9)) { timehour = 9 + work } else { timehour += work; } if (hour < 13 && timehour >= 14 || timehour == 13) { timehour += 1; } if (week < 6 && ((week + datework) >= 7 || (week + datework == 6) )) { datework += 2; } if (timehour >= 18) { timehour = timehour - 18 + 9; datework += 1; } var datework = new Date(date.valueOf() + timehour*60*60*1000 + datework*24*60*60*1000 - hour*60*60*1000); return datework; } А вот как написать функцию, чтоб именно она вычисляла разницу (в рабочих часах) между 2-мя датами - не знаю пока, уже голову сломал. Например Первая дата: 30.01.2017 16:43 Вторая дата: 31.01.2017 11:45 Просто если разницу в часах считать, то это 19 часов и 3 минуты разница, но именно рабочих часов в них 4 часа 02 минуты. Функция должна вернуть: 4 часа 02 минуты, ну или 4,03 часа Помогите пожалуйста, кто может. |
Цитата:
|
|
Часовой пояс GMT +3, время: 01:30. |