Михаил, единственный метод getClosestWorkTime в класе Calendar которую я знаю, находится в модуле задач, а не календаря и имеет неймспейс.
Если имеется ввиду она, то код для использования примерно следующий:
[CODE]use \Bitrix\Main,
\Bitrix\Tasks\Util;
try
{
if ( !Main\Loader::IncludeModule('tasks') )
{
throw new \Exception("Task module not installed");
}
/**
* Task calendar instance
* @var Util\Calendar
*/
$calendar = Util\Calendar::getInstance();
/**
* Date for search nearest work time
* @var Util\Type\DateTime
*/
$expectedTime = new Util\Type\DateTime('23.02.2019');
/**
* Search direction:
* true - forward
* false - straight
* @var boolean
*/
$bForward = true;
/**
* Nearest work time datetime object
* @var Util\Type\DateTime
*/
$closestWorkDate = $calendar->getClosestWorkTime(
$expectedTime,
$bForward
);
var_dump($closestWorkDate);
}
catch( \Exception $e )
{
var_dump($e);
}
[/CODE]