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

Класс Instant

Класс Instant представляет момент времени на временной шкале UTC с наносекундной точностью. Этот класс используется для представления временных меток, которые не зависят от часовых поясов и календарных систем. Момент времени хранится в виде количества секунд и наносекунд, прошедших с эпохи Unix (1 января 1970 года, 00:00:00 UTC).

Импорт

import java.time.Instant

Синтаксис создания

// Текущий момент времени fun now(): Instant
// Из секунд с эпохи Unix fun ofEpochSecond(epochSecond: Long): Instant
// Из секунд и наносекунд с эпохи Unix fun ofEpochSecond(epochSecond: Long, nanoAdjustment: Long): Instant
// Из миллисекунд с эпохи Unix fun ofEpochMilli(epochMilli: Long): Instant
// Парсинг из строки ISO-8601 fun parse(text: CharSequence): Instant

Пример

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

val instant = Instant.now() println(instant)

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

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

Пример

Создадим момент времени из секунд с эпохи Unix:

val instant = Instant.ofEpochSecond(1736857845) println(instant)

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

String "2025-01-15T10:30:45Z"

Пример

Создадим момент времени из миллисекунд с эпохи Unix:

val instant = Instant.ofEpochMilli(1736857845123) println(instant)

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

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

Пример

Парсинг момента времени из строки формата ISO-8601:

val instant = Instant.parse("2025-01-15T10:30:45.123Z") println(instant)

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

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

Синтаксис методов

// Получение компонентов времени fun getEpochSecond(): Long fun getNano(): Int
// Арифметические операции fun plusSeconds(secondsToAdd: Long): Instant fun plusMillis(millisToAdd: Long): Instant fun plusNanos(nanosToAdd: Long): Instant fun minusSeconds(secondsToSubtract: Long): Instant fun minusMillis(millisToSubtract: Long): Instant fun minusNanos(nanosToSubtract: Long): Instant
// Сравнение моментов времени fun isBefore(other: Instant): Boolean fun isAfter(other: Instant): Boolean fun compareTo(other: Instant): Int
// Преобразование в миллисекунды fun toEpochMilli(): Long

Пример

Получим компоненты момента времени:

val instant = Instant.parse("2025-01-15T10:30:45.123456789Z") val seconds = instant.epochSecond val nanos = instant.nano println("Seconds: $seconds, Nanos: $nanos")

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

String "Seconds: 1736857845, Nanos: 123456789"

Пример

Добавим интервал времени к моменту:

val instant = Instant.parse("2025-01-15T10:30:45Z") val later = instant.plusSeconds(3600) // Добавляем 1 час println(later)

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

String "2025-01-15T11:30:45Z"

Пример

Сравним два момента времени:

val instant1 = Instant.parse("2025-01-15T10:30:45Z") val instant2 = Instant.parse("2025-01-15T11:30:45Z") val isBefore = instant1.isBefore(instant2) val isAfter = instant1.isAfter(instant2) println("Is before: $isBefore, Is after: $isAfter")

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

String "Is before: true, Is after: false"

Пример

Преобразуем момент времени в миллисекунды:

val instant = Instant.parse("2025-01-15T10:30:45.123Z") val millis = instant.toEpochMilli() println(millis)

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

Long 1736857845123

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

  • функцию now класса Instant,
    которая возвращает текущий момент времени
  • функцию ofEpochSecond класса Instant,
    которая создает момент времени из секунд с эпохи Unix
  • функцию parse класса Instant,
    которая парсит момент времени из строки
  • класс LocalDateTime,
    который представляет дату и время без часового пояса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить