Класс Timezones
Класс Timezones находится в секции i18n и служит для работы со справочником временных зон.
Он позволяет получать названия временных зон на разных языках, проверять их существование,
а также получать список временных зон для конкретной страны. Класс не требует создания экземпляра,
так как все его методы статические.
Синтаксис
use SymfonyComponentIntlTimezones;
Timezones::getName($timezone, $locale);
Timezones::getNames($locale);
Timezones::exists($timezone);
Timezones::forCountryCode($countryCode);
Пример
Давайте получим название временной зоны 'Europe/Kyiv' на английском языке:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentIntlTimezones;
class TimezoneController extends AbstractController
{
public function index(): Response
{
$res = Timezones::getName('Europe/Kyiv', 'en');
return new Response($res);
}
}
?>
Результат выполнения кода:
"Eastern European Time"
Пример
Давайте получим список всех временных зон на русском языке:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentIntlTimezones;
class TimezoneController extends AbstractController
{
public function index(): Response
{
$res = Timezones::getNames('ru');
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода (фрагмент):
{"Europe/Kyiv": "Восточноевропейское время", "Europe/London": "Среднее время по Гринвичу"}
Пример
Давайте проверим существование временной зоны 'Invalid/Zone':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentIntlTimezones;
class TimezoneController extends AbstractController
{
public function index(): Response
{
$res = Timezones::exists('Invalid/Zone');
return new Response($res ? 'true' : 'false');
}
}
?>
Результат выполнения кода:
"false"
Пример
Давайте получим список временных зон для страны с кодом 'UA':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentIntlTimezones;
class TimezoneController extends AbstractController
{
public function index(): Response
{
$res = Timezones::forCountryCode('UA');
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода:
["Europe/Kyiv"]