JavaScript: преобразовать Unix timestamp в дату

Категория: JavaScript · Язык: JavaScript · Обновлено:

JavaScript Date принимает миллисекунды от Unix epoch, а многие API возвращают timestamp в секундах. Умножьте секундное значение на 1000 перед созданием Date, иначе результат будет указывать дату в январе 1970 года.

Timestamp в секундах

JavaScript
const timestampSeconds = 1735689600;
const date = new Date(timestampSeconds * 1000);
console.log(date.toISOString()); // 2025-01-01T00:00:00.000Z

Для вывода человеку используйте Intl.DateTimeFormat; toISOString() всегда возвращает UTC.

Milliseconds и текущая дата

JavaScript
const timestampMilliseconds = 1735689600000;
console.log(new Date(timestampMilliseconds).toISOString()); // 2025-01-01T00:00:00.000Z
console.log(Math.floor(Date.now() / 1000));

Значение

Единицы в Date

API timestamp в секундах

Умножить на 1000

Date.now()

Уже миллисекунды

toISOString()

ISO 8601 в UTC

Как получить секунды из Date?

Используйте Math.floor(date.getTime() / 1000). Метод getTime() возвращает миллисекунды.

Почему дата отличается на часовой пояс?

Unix timestamp обозначает абсолютный момент времени. Локальное отображение зависит от часового пояса; форматируйте дату с явным timeZone, если нужен стабильный результат.