Я использую Date
для преобразования эпохи миллисекунд unix в дату.
Итак, 1501783442 == Tuesday, 8 August 2017 12:35:57
.
Но javascript говорит, что его Sun Jan 18 1970 14:39:43 GMT+0530 (IST)
.
<p id="demo"></p>
<script>
var d = new Date(1501783442);
document.getElementById("demo").innerHTML = d;
</script>
Ссылка Jsfiddle.
Что тут происходит?
Прежде всего, 1501783442
равно GMT: Thursday, August 3, 2017 6:04:02 PM
по https://www.epochconverter.com/.
Во-вторых, Unix использует секунды, тогда как Javascript использует миллисекунды. Таким образом, чтобы преобразовать, вы должны умножить на 1000, что дает правильный результат (исправленный для часового пояса, в котором живет ваш браузер):
<p id="demo"></p>
<script>
var d = new Date(1501783442 * 1000);
document.getElementById("demo").innerHTML = d;
</script>
<p id="demo"></p>
<script>
var d = new Date(1501783442);
document.getElementById("demo").innerHTML = d;
</script>
Date.now()
(например,1502197442246
) имеет три дополнительные цифры. Попробуйте умножить на 1000 ...