- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/util/calendar.php
- Класс: BitrixTasksUtilCalendar
- Вызов: Calendar::calculateDuration
public function calculateDuration(DateTime $startDate, DateTime $endDate)
{
$duration = 0;
if ($startDate->getTimestamp() < $endDate->getTimestamp())
{
$cb = function (DateTime $start, DateTime $end) use(&$duration)
{
$duration += ($end->getTimestamp() - $start->getTimestamp());
};
$this->processEachDay($startDate, $endDate, true, $cb);
}
else
{
$cb = function (DateTime $start, DateTime $end) use(&$duration)
{
$duration -= ($end->getTimestamp() - $start->getTimestamp());
};
$this->processEachDay($endDate, $startDate, true, $cb);
}
return $duration;
}