JavaScript: преобразовать Unix timestamp в дату
JavaScript Date принимает миллисекунды от Unix epoch, а многие API возвращают timestamp в секундах. Умножьте секундное значение на 1000 перед созданием Date, иначе результат будет указывать дату в январе 1970 года.
Timestamp в секундах
const timestampSeconds = 1735689600;
const date = new Date(timestampSeconds * 1000);
console.log(date.toISOString()); // 2025-01-01T00:00:00.000ZДля вывода человеку используйте Intl.DateTimeFormat; toISOString() всегда возвращает UTC.
Milliseconds и текущая дата
const timestampMilliseconds = 1735689600000;
console.log(new Date(timestampMilliseconds).toISOString()); // 2025-01-01T00:00:00.000Z
console.log(Math.floor(Date.now() / 1000));Значение | Единицы в |
|---|---|
API timestamp в секундах | Умножить на |
| Уже миллисекунды |
| ISO 8601 в UTC |
Как получить секунды из Date?
Используйте Math.floor(date.getTime() / 1000). Метод getTime() возвращает миллисекунды.
Почему дата отличается на часовой пояс?
Unix timestamp обозначает абсолютный момент времени. Локальное отображение зависит от часового пояса; форматируйте дату с явным timeZone, если нужен стабильный результат.