Encodera

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

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

Как перевести 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 — Возвращает дату как число миллисекунд.

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

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