Преобразование UNIX в HH-MM-SS Javascript

0

Я пытаюсь преобразовать временную метку unix в удобочитаемое время. Я пробовал все решения, которые я могу найти, ни один из них не работает. Я не хочу использовать какие-либо модули или фреймворки. Id ценят некоторую помощь в преобразовании. (Угловая) Пожалуйста, не связывайтесь с другими вопросами. Я читаю их все. Thnk вы

  var unix = Math.round(+new Date()/1000);
  console.log(unix) //works


  function secondstotime(unix)
{
    var t = new Date(1970,0,1);
    t.setSeconds(unix);
    var s = t.toTimeString().substr(0,8);
    if(unix > 86399)
      s = Math.floor((t - Date.parse("1/1/70")) / 3600000) + s.substr(2);
    console.log(s);
} 
secondstotime();
  • 0
    secondstotime (Unix); попробуйте вот так
Теги:
datetime-conversion

2 ответа

2

В angularjs вы можете просто использовать фильтр даты для преобразования временной отметки Unix (в секундах). Вам просто нужно умножить временную метку Unix на 1000, чтобы сделать ее миллисекундной меткой времени. Вот код

<p>{{1469424998 * 1000 | date:'hh:mm:ss'}}</p>

или вы можете использовать некоторую внешнюю библиотеку, например mommentjs, для преобразования Unix Timestamp (в секундах) в datetime, как это

 var day = moment.unix(1469424998);
console.log(day.format("hh:mm:ss"));

Надеюсь, это поможет

1

Вопрос не ясен. В текущем коде он печатает следующий результат:

1469424998
Invalid

Он печатает Invalid поскольку отсутствует параметр метода secondstotime(). Если вы добавите метод paameters во secondstotime() метод secondstotime(), он напечатает следующий результат:

DEMO

var unix = Math.round(+new Date()/1000);
  console.log(unix) //works


  function secondstotime(unix)
  {
    var t = new Date(1970,0,1);
    t.setSeconds(unix);
    var s = t.toTimeString().substr(0,8);
    if(unix > 86399)
      s = Math.floor((t - Date.parse("1/1/70")) / 3600000) + s.substr(2);
    console.log(s);
 } 
 secondstotime(unix);

Вывод:

1469424875
56408173:34:35 

Неясно, чего именно вы хотите. Можете ли вы показать нам свой ожидаемый результат?

  • 0
    К сожалению, я слишком долго кодировал. Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню