Как перевести Unix-время в дату
Короткий ответ
Unix-время считается в секундах, а даты JavaScript — в миллисекундах. Умножьте на 1000:
const timestamp = 1735689600;
const date = new Date(timestamp * 1000);
console.log(date.toISOString());Результат:
2025-01-01T00:00:00.000ZВ понятном виде
Покажите дату в нужном часовом поясе через параметр timeZone:
const date = new Date(1735689600 * 1000);
console.log(date.toLocaleString('en-GB', { timeZone: 'UTC' }));
console.log(date.toLocaleString('en-US', { timeZone: 'America/New_York' }));Результат:
01/01/2025, 00:00:00
12/31/2024, 7:00:00 PMИз даты в метку
getTime() возвращает миллисекунды. Разделите на 1000 и округлите вниз, чтобы получить секунды:
const date = new Date(Date.UTC(2025, 0, 1));
console.log(Math.floor(date.getTime() / 1000));Результат:
1735689600Частая ошибка
Если забыть умножить на 1000, получится дата в январе 1970 года:
console.log(new Date(1735689600).toISOString());Результат:
1970-01-21T02:08:09.600ZФункции из этого ответа
- Date.now — Возвращает текущее время как число миллисекунд.
- Date.prototype.toISOString — Возвращает дату в формате ISO 8601 по UTC.
- Date.prototype.getTime — Возвращает дату как число миллисекунд.