Метод exists класса Timezones
Метод exists класса Timezones проверяет,
существует ли временная зона с переданным идентификатором.
Первым параметром передаётся строка с кодом временной зоны,
например 'Europe/Moscow' или 'UTC'.
Метод возвращает true, если такая зона существует,
и false в противном случае.
Класс Timezones относится к компоненту Intl
и предоставляет доступ к данным о временных зонах,
их названиях и странах.
Синтаксис
public function exists(string $timezone): bool
Пример
Давайте проверим, существует ли временная зона
'Europe/Moscow':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentIntlTimezones;
class TimezoneController extends AbstractController
{
public function index(): Response
{
$timezones = new Timezones();
$res = $timezones->exists('Europe/Moscow');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
true
Пример
Давайте проверим несуществующую временную зону
'Europe/Unknown':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentIntlTimezones;
class TimezoneController extends AbstractController
{
public function index(): Response
{
$timezones = new Timezones();
$res = $timezones->exists('Europe/Unknown');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
false
Пример
Давайте переберём список идентификаторов и выведем только существующие временные зоны:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentIntlTimezones;
class TimezoneController extends AbstractController
{
public function index(): Response
{
$timezones = new Timezones();
$ids = ['UTC', 'Europe/Moscow', 'Europe/Unknown', 'Asia/Tokyo'];
$res = [];
foreach ($ids as $id) {
if ($timezones->exists($id)) {
$res[] = $id;
}
}
return new Response(implode(', ', $res));
}
}
?>
Результат выполнения кода:
"UTC, Europe/Moscow, Asia/Tokyo"
Смотрите также
-
класс
Timezones,
который предоставляет данные о временных зонах -
метод
getName,
который возвращает название временной зоны -
метод
getNames,
который возвращает список названий временных зон -
метод
forCountryCode,
который возвращает временные зоны для страны