Как преобразовать Unix timestamp в формат времени с помощью JavaScript

Проблема с форматированием времени из базы данных

В моем проекте я сохраняю временные метки в базе данных MySQL в виде Unix timestamp. Эти данные потом передаются в клиентскую часть приложения на JavaScript.

Мне нужно извлечь из этой временной метки только время и отобразить его в читаемом формате, например ЧЧ:ММ:СС.

// У меня есть такая временная метка
let unixTime = 1634567890;

// Нужно получить что-то вроде "14:23:10"
let formattedTime = convertToTimeFormat(unixTime);
console.log(formattedTime);

Как правильно реализовать функцию convertToTimeFormat() для получения времени в нужном виде? Какие методы JavaScript лучше использовать для работы с Unix timestamp?

Можно ещё через Date объект — просто вытащи часы, минуты и секунды руками:

function convertToTimeFormat(unixTime) {
  let date = new Date(unixTime * 1000);
  let hours = date.getHours().toString().padStart(2, '0');
  let minutes = date.getMinutes().toString().padStart(2, '0');
  let seconds = date.getSeconds().toString().padStart(2, '0');
  return `${hours}:${minutes}:${seconds}`;
}

Так у тебя больше контроля над форматом, если что-то нужно будет поменять.

У меня была похожая задача, только с UTC временем. Использовал getUTCHours(), getUTCMinutes() и getUTCSeconds() - удобно для разных часовых поясов. Кстати, твой timestamp из MySQL точно в секундах или в миллисекундах?

Я недавно делал то же самое! Просто создай объект Date из timestamp и используй toLocaleTimeString():

function convertToTimeFormat(unixTime) {
  let date = new Date(unixTime * 1000);
  return date.toLocaleTimeString('ru-RU', {hour12: false});
}

Не забудь умножить на 1000 - в JS время в миллисекундах, а unix timestamp в секундах. Получишь формат ЧЧ:ММ:СС с учетом твоей временной зоны.