• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/item/converter/task/template/totask.php
  • Класс: BitrixTasksItemConverterTaskTemplateToTask
  • Вызов: ToTask::getDateMatchedWorkTime
static function getDateMatchedWorkTime(DateTime $now, $seconds)
{
	$dateInst = DateTime::createFromUserTimeGmt($now);
	$calendar = Calendar::getInstance();

	$nextDate = $calendar->calculateEndDate($dateInst, $seconds);
	$clone = clone $nextDate;

	if (!$calendar->isWorkTime($clone))
	{
		$nextDate = $calendar->getClosestWorkTime($clone);
	}

	$nextDate = $nextDate->convertToLocalTime()->getTimestamp();
	$nextDate = DateTime::createFromTimestamp($nextDate - User::getTimeZoneOffsetCurrentUser());

	return $nextDate;
}