• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/replicator/template/conversion/converters/datetimeconverter.php
  • Класс: BitrixTasksReplicatorTemplateConversionConvertersDateTimeConverter
  • Вызов: DateTimeConverter::getDateMatchedWorkTime
private function getDateMatchedWorkTime(int $seconds): DateTime
{
	$dateInst = DateTime::createFromUserTimeGmt(new DateTime());
	$calendar = Calendar::getInstance();

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

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

	$nextDate = $nextDate->convertToLocalTime()->getTimestamp();

	return DateTime::createFromTimestamp($nextDate - User::getTimeZoneOffsetCurrentUser());
}