Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Instant

Точный момент времени на временной шкале UTC — для логов, меток времени и замеров.

Доступно с: Java 8

Синтаксис

public final class Instant implements Temporal, Comparable<Instant>

Примеры

Текущий момент — вывод меняется при каждом запуске:

void main() {
    Instant now = Instant.now();
    IO.println(now);
    IO.println(now.getEpochSecond() > 0);
}

Результат:

2026-10-04T06:22:33.382291100Z
true

Момент из Unix-времени и разница между моментами:

void main() {
    Instant start = Instant.ofEpochSecond(1_700_000_000);
    Instant end = start.plus(Duration.ofMinutes(90));
    IO.println(start);
    IO.println(Duration.between(start, end).toMinutes());
    IO.println(start.atZone(ZoneId.of("Europe/Berlin")).toLocalTime());
}

Результат:

2023-11-14T22:13:20Z
90
23:13:20

Примечания

Instant всегда в UTC (буква Z в выводе) и не зависит от часового пояса компьютера. Чтобы показать момент человеку, переведите его в пояс: instant.atZone(zone). Unix-время в миллисекундах — Instant.ofEpochMilli() и toEpochMilli().

См. также

  • ZonedDateTime — Дата и время в конкретном часовом поясе — с учётом летнего времени.
  • Duration — Промежуток времени в секундах и наносекундах — часы, минуты, секунды.
  • LocalDateTime — Дата и время без часового пояса — например, время встречи в календаре.

Вопросы и ответы по теме

В учебнике

  • Даты и время — Пакет java.time — LocalDate, LocalTime, LocalDateTime, арифметика дат, Period, Duration, ChronoUnit, часовые пояса и Instant.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.