• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/item/task.php
  • Класс: BitrixTasksItemTask
  • Вызов: Task::getDuration
public function getDuration($start = null, $end = null, array $parameters = array())
{
	if($start === null)
	{
		$start = $this['START_DATE_PLAN'];
	}
	if($end === null)
	{
		$end = $this['END_DATE_PLAN'];
	}

	$start = DateTime::createFrom($start, 0);
	$end = DateTime::createFrom($end, 0);

	if($end === null)
	{
		return INF;
	}
	if($start == null)
	{
		return -INF;
	}

	if(array_key_exists('MATCH_WORK_TIME', $parameters))
	{
		$matchWorkTime = $parameters['MATCH_WORK_TIME'];
	}
	else
	{
		$matchWorkTime = $this['MATCH_WORK_TIME'];
	}
	$matchWorkTime = $matchWorkTime == 'Y' || $matchWorkTime === true || $matchWorkTime === 1  || $matchWorkTime === '1';

	if($matchWorkTime)
	{
		$calendar = new UtilCalendar();
		return $calendar->calculateDuration($start, $end);
	}
	else
	{
		return $end->getTimestamp() - $start->getTimestamp();
	}
}