РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
976 of 1163 menu

Класс Clock

Класс Clock из пакета java.time представляет собой абстракцию часов, которые возвращают текущий момент времени. Основное назначение класса - предоставлять доступ к текущему Instant, а также к текущей дате и времени в определённом часовом поясе. Класс является абстрактным, поэтому создать его экземпляр напрямую через конструктор нельзя. Вместо этого используются статические фабричные методы, такие как systemUTC, systemDefaultZone и fixed. Первый параметр методов получения времени задаёт часовой пояс, если он требуется. Класс Clock удобен для тестирования, так как позволяет подменять системные часы фиксированными или альтернативными реализациями.

Синтаксис

Clock.systemUTC() Clock.systemDefaultZone() Clock.fixed(instant, zone) clock.instant() clock.getZone() clock.millis()

Пример

Давайте получим текущий момент времени с помощью системных часов в UTC:

import java.time.Clock; import java.time.Instant; public class Main { public static void main(String[] args) { Clock clock = Clock.systemUTC(); Instant res = clock.instant(); System.out.println(res); } }

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

2025-01-15T10:30:45.123456Z

Пример

Давайте получим текущее количество миллисекунд с начала эпохи:

import java.time.Clock; public class Main { public static void main(String[] args) { Clock clock = Clock.systemUTC(); long res = clock.millis(); System.out.println(res); } }

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

1736937045123

Пример

Давайте создадим фиксированные часы с заданным моментом времени и часовым поясом:

import java.time.Clock; import java.time.Instant; import java.time.ZoneId; import java.time.ZonedDateTime; public class Main { public static void main(String[] args) { Instant instant = Instant.parse("2025-01-15T10:00:00Z"); ZoneId zone = ZoneId.of("Europe/Moscow"); Clock clock = Clock.fixed(instant, zone); ZonedDateTime res = ZonedDateTime.now(clock); System.out.println(res); } }

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

2025-01-15T13:00+03:00[Europe/Moscow]

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

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