16

Преобразование Unix-метки времени в формат времени в JavaScript

16

Я сохраняю время в базе данных MySQL в формате Unix timestamp, и это значение отправляется в код JavaScript. Как я могу извлечь только время из этого значения?

Например, мне нужно получить время в формате HH/MM/SS.

5 ответ(ов)

3

В вашем коде представлена функция timeConverter, которая преобразует UNIX timestamp в читаемый формат даты и времени. Давайте разберем ее по частям:

  1. Создание объекта даты: Вы создаете новый объект Date, используя переданный UNIX_timestamp, умноженный на 1000, так как в JavaScript время в миллисекундах.

    var a = new Date(UNIX_timestamp * 1000);
    
  2. Массив месяцев: Здесь создается массив months, который содержит названия месяцев на сокращенном английском языке.

    var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
    
  3. Извлечение компонентов даты: Вы получаете год, месяц, день, часы, минуты и секунды с помощью методов объекта Date:

    var year = a.getFullYear();
    var month = months[a.getMonth()];
    var date = a.getDate();
    var hour = a.getHours();
    var min = a.getMinutes();
    var sec = a.getSeconds();
    
  4. Форматирование строки даты: Затем вы формируете строку в формате "день месяц год часы:минуты:секунды" и возвращаете ее.

    var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
    return time;
    
  5. Пример использования: В конце вы вызываете функцию с параметром 0, что соответствует началу эпохи UNIX (1 января 1970 года):

    console.log(timeConverter(0));
    

Таким образом, если вам нужно отобразить время в читаемом формате, функция timeConverter отлично с этим справляется, преобразуя UNIX timestamp в строку с полным описанием даты и времени.

Если возникнут дополнительные вопросы или нужны уточнения, не стесняйтесь спрашивать!

3

JavaScript работает в миллисекундах, поэтому сначала вам нужно будет преобразовать UNIX-метку времени из секунд в миллисекунды.

var date = new Date(UNIX_Timestamp * 1000);
// Здесь вы можете манипулировать объектом Date в JavaScript...
0

Чтобы отформатировать секунды в формате hh:mm:ss в виде одной строки, вы можете воспользоваться следующим решением:

console.log(new Date(1549312452 * 1000).toTimeString().split(' ')[0]);

Этот код создаёт объект Date, затем получает строку с временем и разбивает её, чтобы извлечь только время в формате hh:mm:ss.

0

Я рекомендую использовать библиотеку, такую как moment.js, которая делает работу с датами и временем действительно простой.

Для работы с Unix-меткой времени вы можете использовать следующий код:

var timestamp = moment.unix(1293683278);
console.log(timestamp.format("HH/mm/ss"));

Если вы хотите работать со строкой даты из MySQL, это можно сделать так:

var now = moment("2010-10-10 12:03:15");
console.log(now.format("HH/mm/ss"));

Эти примеры показывают, как легко извлекать и форматировать время с помощью moment.js.

0

Вы можете использовать библиотеку Moment.js для работы с временными метками в формате Unix. Для преобразования временной метки в дата-время строку используйте следующий код:

const dateTimeString = moment.unix(1466760005).format("DD-MM-YYYY HH:mm:ss");

В этом примере moment.unix(1466760005) создает объект Moment из Unix-временной метки, а метод .format("DD-MM-YYYY HH:mm:ss") форматирует его в строку в формате "дд-мм-гггг чч:мм:сс".

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь