GetDurationInWorkingHours – получить количество часов в интервале дат
<< Click to Display Table of Contents >> Объектная модель > CoreEntities – администрирование > WorkingTime – календари рабочего времени GetDurationInWorkingHours – получить количество часов в интервале дат |
Метод используется для получения количества рабочих часов в указанном интервале дат.
Перегрузки
GetDurationInWorkingHours(DateTime StartDate, DateTime endDate) |
Получить количество рабочих часов в указанном интервале дат |
GetDurationInWorkingHours(DateTime startDate, DateTime endDate, IRecipient recipient) |
Получить количество рабочих часов пользователя в указанном интервале дат |
Синтаксис
C# |
public static double GetDurationInWorkingHours(DateTime startDate, DateTime endDate, IRecipient recipient); |
Параметры
startDate – дата начала по времени веб-сервера;
endDate – дата окончания по времени веб-сервера;
recipient – пользователь, для которого запрашивается количество рабочих часов в интервале дат. Если параметр задан, при расчете рабочего времени учитывается часовой пояс сотрудника и настройки частного календаря рабочего времени, если они есть.
Возвращаемое значение
Количество рабочих часов. При расчете рабочего времени метод исключает обеденные перерывы согласно настройкам календарей рабочего времени.
Метод может возвращать дробные значения часа, например, 4,25 (4 часа и 15 минут). При расчете учитываются только минуты, секунды не учитываются.
В таблице приведены примеры возвращаемых значений метода в зависимости от заданного интервала дат:
startDate |
endDate |
Время на обед |
Возвращаемое значение |
Примечание |
---|---|---|---|---|
11.11.20 09:00 (среда) |
11.11.20 18:00 (среда) |
12:00 – 13:00 |
8 |
Часы и минуты учитываются |
11.11.20 09:00:30 (среда) |
11.11.20 18:00:45 (среда) |
12:00 – 13:00 |
8 |
Секунды не учитываются |
11.11.20 (среда) |
11.11.20 (среда) |
12:00 – 13:00 |
8 |
Если время не указано, рассчитываются рабочие часы за весь день |
13.11.20 09:00 (пятница) |
13.11.20 18:00 (пятница) |
12:00 – 12:45 |
8,25 |
Пример возвращения дробного значения |
13.11.20 09:00 (пятница) |
14.11.20 18:00 (суббота) |
12:00 – 12:45 |
8,25 |
Выходной день не учитывается |
Пример 1. Получение разницы между двумя датами в рабочих часах
var durationInHours = WorkingTime.GetDurationInWorkingHours(startDate, endDate);
Пример 2. Расчет задержки в выполнении задания
// При задержке в выполнении менее 4 рабочих часов
// задание считается выполненным в срок.
var delayInHours = Sungero.CoreEntities.WorkingTime.GetDurationInWorkingHours(deadlineWithTime, completedWithTime, user);
if (delayInHours < 4)
return 0;
© Компания Directum, 2024 |