Метод withZone

Метод withZone класса Clock создает новые часы, которые используют указанный часовой пояс. В параметр мы передаем объект ZoneId, представляющий нужный часовой пояс.

Импорт

kotlinimport java.time.Clock
import java.time.ZoneId

Синтаксис

kotlinfun withZone(zone: ZoneId): Clock

Пример

Создадим часы с системным часовым поясом по умолчанию, а затем создадим новые часы с часовым поясом "Europe/Paris":

kotlinval defaultClock = Clock.systemDefaultZone()
val parisClock = defaultClock.withZone(ZoneId.of("Europe/Paris"))

println("Default zone: " + defaultClock.zone)
println("Paris zone: " + parisClock.zone)

Результат выполнения кода:

kotlinString "Default zone: Europe/Moscow"
String "Paris zone: Europe/Paris"

Пример

Создадим часы UTC и преобразуем их в часы с тихоокеанским временем:

kotlinval utcClock = Clock.systemUTC()
val pacificClock = utcClock.withZone(ZoneId.of("America/Los_Angeles"))

val utcTime = utcClock.instant()
val pacificTime = pacificClock.instant()

println("UTC time: " + utcTime)
println("Pacific time: " + pacificTime)

Результат выполнения кода:

kotlinString "UTC time: 2025-07-15T10:30:45Z"
String "Pacific time: 2025-07-15T10:30:45Z"

Пример

Сравним время, полученное из часов с разными часовыми поясами:

kotlinval systemClock = Clock.systemDefaultZone()
val tokyoClock = systemClock.withZone(ZoneId.of("Asia/Tokyo"))

val systemTime = systemClock.instant()
val tokyoTime = tokyoClock.instant()

println("System time: " + systemTime)
println("Tokyo time: " + tokyoTime)
println("Times are equal: " + systemTime.equals(tokyoTime))

Результат выполнения кода:

kotlinString "System time: 2025-07-15T10:30:45Z"
String "Tokyo time: 2025-07-15T10:30:45Z"
String "Times are equal: true"

Смотрите также

  • метод systemDefaultZone класса Clock,
    который создает часы с системным часовым поясом по умолчанию
  • метод systemUTC класса Clock,
    который создает часы с часовым поясом UTC
  • метод getZone класса Clock,
    который возвращает часовой пояс текущих часов
  • класс ZoneId,
    который представляет идентификатор часового пояса