Javascript, получая час и мин от значения эпохи - PullRequest
0 голосов
/ 22 ноября 2018

Я использую приведенный ниже код, чтобы получить чч: мм из эпохи

 var dt = new Date(t*1000);  
    var hr = dt.getHours();
    var m = "0" + dt.getMinutes();
    return hr+ ':' + m.substr(-2)

для значений ниже:

1542895249079  prints: 19:37  Expected: 2:00 PM
1542897015049  prints: 6:10  Expected: 2:30 PM
1542902445344  prints: 2:35  Expected: 4:00 PM

Я теряюсь в этом как значения преобразованиясверху код выглядит совершенно странно для меня.

1 Ответ

0 голосов
/ 22 ноября 2018

Две проблемы с вашим кодом:

  1. Для указанных вами примеров значений не нужно умножать на 1000, поскольку они уже выражены в миллисекундах.

  2. Если вы хотите оставить информацию о местном часовом поясе вне учетной записи, вы должны использовать getUTCHours() и getUTCMinutes().

function convert(t) {
  const dt = new Date(t);
  const hr = dt.getUTCHours();
  const m = "0" + dt.getUTCMinutes();
  
  return hr + ':' + m.substr(-2)
}

console.log(convert(1542895249079));
console.log(convert(1542897015049));
console.log(convert(1542902445344));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...