Encodera

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

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

Как преобразовать timestamp в дату

Короткий ответ

Unix timestamp — количество секунд с 1 января 1970 года по UTC. Instant.ofEpochSecond() превращает его в момент времени:

void main() {
    Instant instant = Instant.ofEpochSecond(1_772_960_400L);
    IO.println(instant);
}

Результат:

2026-03-08T09:00:00Z

В местное время

Чтобы получить дату и время в нужном поясе, добавьте ZoneId:

void main() {
    var dateTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(1_772_960_400L), ZoneId.of("Europe/Berlin"));
    IO.println(dateTime);
}

Результат:

2026-03-08T10:00

Миллисекунды

JavaScript и многие API отдают время в миллисекундах — для них есть ofEpochMilli():

void main() {
    IO.println(Instant.ofEpochMilli(1_772_960_400_123L));
}

Результат:

2026-03-08T09:00:00.123Z

Обратно в число

getEpochSecond() и toEpochMilli() возвращают timestamp:

void main() {
    var moment = LocalDateTime.of(2026, 3, 8, 9, 0).atZone(ZoneOffset.UTC).toInstant();
 
    IO.println(moment.getEpochSecond());
    IO.println(moment.toEpochMilli());
}

Результат:

1772960400
1772960400000

Частая ошибка

Перепутать секунды и миллисекунды. Миллисекунды, переданные как секунды, дают дату через десятки тысяч лет:

void main() {
    long millis = 1_772_960_400_000L;
 
    IO.println(Instant.ofEpochSecond(millis));
    IO.println(Instant.ofEpochMilli(millis));
}

Результат:

+58152-11-17T00:00:00Z
2026-03-08T09:00:00Z

Функции из этого ответа

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

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

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