Метод of класса ZoneId
Метод of класса ZoneId создает и возвращает объект временной зоны
по её идентификатору. В параметр мы передаем строку с названием зоны,
например "Europe/Paris" или "Asia/Tokyo". Метод является статическим,
поэтому вызывается напрямую через имя класса.
Список доступных идентификаторов зон можно получить с помощью метода
getAvailableZoneIds. Если передать некорректный идентификатор,
будет выброшено исключение ZoneRulesException.
Синтаксис
ZoneId.of(String zoneId)
Пример
Давайте создадим временную зону для Парижа и выведем её на экран:
import java.time.ZoneId;
public class Main
{
public static void main(String[] args)
{
ZoneId zone = ZoneId.of("Europe/Paris");
System.out.println(zone);
}
}
Результат выполнения кода:
"Europe/Paris"
Пример
Давайте создадим временную зону для Токио и получим её идентификатор:
import java.time.ZoneId;
public class Main
{
public static void main(String[] args)
{
ZoneId zone = ZoneId.of("Asia/Tokyo");
System.out.println(zone.getId());
}
}
Результат выполнения кода:
"Asia/Tokyo"
Пример
Давайте создадим временную зону по смещению UTC и выведем её:
import java.time.ZoneId;
public class Main
{
public static void main(String[] args)
{
ZoneId zone = ZoneId.of("UTC+3");
System.out.println(zone);
}
}
Результат выполнения кода:
"UTC+03:00"
Пример
Давайте используем полученную зону вместе с ZonedDateTime,
чтобы узнать текущее время в Париже:
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class Main
{
public static void main(String[] args)
{
ZoneId zone = ZoneId.of("Europe/Paris");
ZonedDateTime now = ZonedDateTime.now(zone);
System.out.println(now.getZone());
}
}
Результат выполнения кода:
"Europe/Paris"
Смотрите также
-
класс
ZoneId,
который представляет временную зону -
метод
systemDefault,
который возвращает системную временную зону -
класс
ZonedDateTime,
который представляет дату и время с зоной -
метод
withZoneSameInstant,
который переводит время в другую зону