• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar.php
  • Класс: CCalendar
  • Вызов: CCalendar::GetGoodTimezoneForOffset
static function GetGoodTimezoneForOffset($offset)
{
	$timezones = self::GetTimezoneList();
	$goodTz = [];
	$result = false;

	foreach($timezones as $tz)
	{
		if ($tz['offset'] == $offset)
		{
			$goodTz[] = $tz;
			if (LANGUAGE_ID == 'ru')
			{
				if (preg_match('/(kaliningrad|moscow|samara|yekaterinburg|novosibirsk|krasnoyarsk|irkutsk|yakutsk|vladivostok)/i', $tz['timezone_id']))
				{

					$result = $tz['timezone_id'];
					break;
				}
			}
			elseif (mb_strpos($tz['timezone_id'], 'Europe') !== false)
			{
				$result = $tz['timezone_id'];
				break;
			}
		}
	}

	if (!$result && !empty($goodTz))
	{
		$result = $goodTz[0]['timezone_id'];
	}

	return $result;
}