HelpF.pro

Как получить количество часов/минут из интервал с исключением ночного времени

Код 1C v 8.2 УП
 	КолМин = 0;
НачДата = Дата1;
Пока НачДата < Дата2 Цикл
// Запускаем цикл с шагом в 1 мин
НачДата = НачДата + 60;
//Пребразуем дату в строку
СтрТекДата = Формат(НачДата, "ДФ=yyyyMMddHHmm");
//часы и минуты преобразуем в число, берем правые 4 знака строки и делаем их числом
// т.е. 08:00 будет равно 800 и тд....
ТекВремя = Число(Прав(СтрТекДата,4));
// в цикле сравниваем на больше - меньше и накпливаем минуты если условие верно
// 800 в данном случае время - 08:00
// 2200 в данном случае время - 22:00
Если (ТекВремя > 800) и (ТекВремя <= 2200) Тогда
//накапливаем минуты
КолМин = КолМин + 1;
КонецЕсли;
КонецЦикла;
//получим количество часов из интервала с исключением промежутка с 22:00 по 08:00
Сообщить(КолМин/60);


Была поставлена задача посчитать время простоя автомобиля в часах за интервал, но при этом исключить ночное время, придумал такое решение...
Может комуто пригодится
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq82/view/1174.html