• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sharing/helper.php
  • Класс: BitrixCalendarSharingHelper
  • Вызов: Helper::formatTimeInterval
static function formatTimeInterval(Date $from, Date $to, bool $isFullDay): string
{
	$isLongDateTimeFormat = false;

	$culture = Context::getCurrent()->getCulture();
	$formattedDateFrom = FormatDate($culture->getFullDateFormat(), self::getUserDateTimestamp($from));
	$formattedDateTo = '';
	$formattedTimeFrom = '';
	$formattedTimeTo = '';

	if ($to->format('j') !== $from->format('j')
		|| $to->format('Y') !== $from->format('Y')
		|| $to->format('n') !== $from->format('n')
	)
	{
		$isLongDateTimeFormat = true;
		$formattedDateTo = FormatDate($culture->getFullDateFormat(), self::getUserDateTimestamp($to));
	}

	if ($isFullDay)
	{
		if (!isset($formattedDateTo))
		{
			$formattedDateTo = FormatDate($culture->getFullDateFormat(), self::getUserDateTimestamp($to));
		}
	}
	else
	{
		$formattedTimeFrom = FormatDate($culture->getShortTimeFormat(), self::getUserDateTimestamp($from));
		$formattedTimeTo = FormatDate($culture->getShortTimeFormat(), self::getUserDateTimestamp($to));
	}

	if ($isFullDay)
	{
		if ($isLongDateTimeFormat)
		{
			return $formattedDateFrom . " - " . $formattedDateTo;
		}

		return $formattedDateFrom . Loc::getMessage('EC_VIEW_FULL_DAY');
	}

	if ($isLongDateTimeFormat)
	{
		return $formattedDateFrom . ' ' . $formattedTimeFrom . ' - ' . $formattedDateTo . ' ' . $formattedTimeTo;
	}

	return $formattedDateFrom . ' ' . $formattedTimeFrom . ' - ' . $formattedTimeTo;
}