НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
971 of 1310 menu

Класс Clock

Класс Clock из пакета java.time предоставляет доступ к текущему моменту времени и позволяет работать с различными временными зонами. С помощью этого класса можно получать текущее время, создавать фиксированные часы для тестирования, а также работать со смещениями времени.

Импорт

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

Синтаксис

// Получение часов системной зоны по умолчанию fun systemDefaultZone(): Clock // Получение часов UTC fun systemUTC(): Clock // Получение часов для указанной зоны fun system(zone: ZoneId): Clock // Создание фиксированных часов fun fixed(fixedInstant: Instant, zone: ZoneId): Clock // Создание часов со смещением fun offset(baseClock: Clock, offsetDuration: Duration): Clock // Получение текущего момента fun instant(): Instant // Получение временной зоны fun getZone(): ZoneId // Создание копии часов с другой зоной fun withZone(zone: ZoneId): Clock

Пример

Получение текущего времени с использованием системной зоны по умолчанию:

val clock = Clock.systemDefaultZone() val instant = clock.instant() println("Current time: $instant")

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

String "Current time: 2025-01-15T10:30:45.123Z"

Пример

Получение текущего времени в UTC:

val clock = Clock.systemUTC() val instant = clock.instant() println("UTC time: $instant")

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

String "UTC time: 2025-01-15T10:30:45.123Z"

Пример

Создание фиксированных часов для тестирования:

val fixedInstant = Instant.parse("2025-12-31T23:59:59Z") val clock = Clock.fixed(fixedInstant, ZoneId.systemDefault()) val instant = clock.instant() println("Fixed time: $instant")

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

String "Fixed time: 2025-12-31T23:59:59Z"

Пример

Создание часов со смещением на 2 часа вперед:

val baseClock = Clock.systemUTC() val offsetClock = Clock.offset(baseClock, Duration.ofHours(2)) val instant = offsetClock.instant() println("Offset time: $instant")

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

String "Offset time: 2025-01-15T12:30:45.123Z"

Пример

Использование часов с конкретной временной зоной:

val tokyoZone = ZoneId.of("Asia/Tokyo") val clock = Clock.system(tokyoZone) val instant = clock.instant() val zone = clock.getZone() println("Time in $zone: $instant")

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

String "Time in Asia/Tokyo: 2025-01-15T19:30:45.123Z"

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

  • класс Instant,
    который представляет момент на временной шкале
  • класс ZoneId,
    который представляет идентификатор временной зоны
  • класс Duration,
    который представляет продолжительность времени
  • функцию systemUTC класса Clock,
    которая возвращает часы в UTC зоне
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить