• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar.php
  • Класс: CCalendar
  • Вызов: CCalendar::TimestampUTC
static function TimestampUTC(string $date): int
{
	try
	{
		$parsedDateTime = ParseDateTime($date);
		$hours = (int)($parsedDateTime['HH'] ?? $parsedDateTime['H'] ?? 0);
		if (isset($parsedDateTime['TT']) || isset($parsedDateTime['T']))
		{
			$amPm = $parsedDateTime['TT'] ?? $parsedDateTime['T'];
			if (strcasecmp('pm', $amPm) === 0)
			{
				if ($hours < 12)
				{
					$hours += 12;
				}
			}
			else
			{
				$hours %= 12;
			}
		}

		$dateTime = (new DateTime())
			->setTimezone(new DateTimeZone('UTC'))
			->setDate($parsedDateTime['YYYY'], $parsedDateTime['MM'], $parsedDateTime['DD'])
			->setTime($hours, $parsedDateTime['MI'] ?? 0);
	}
	catch (TypeError)
	{
		$dateTime = new DateTime($date, new DateTimeZone('UTC'));
	}
	finally
	{
		return (int)$dateTime->format('U');
	}
}