在javascript中的时代转换给出了错误的答案

时间:2017-08-08 13:00:47

标签: javascript

我正在使用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>
&#13;
&#13;
&#13;

Jsfiddle link

这是怎么回事?

2 个答案:

答案 0 :(得分:9)

首先,根据https://www.epochconverter.com/1501783442等于GMT: Thursday, August 3, 2017 6:04:02 PM

其次,Unix使用,而Javascript使用毫秒。因此,为了进行转换,您必须乘以1000,然后得到正确的结果(根据您的浏览器所在的时区进行更正):

&#13;
&#13;
<p id="demo"></p>

<script>
  var d = new Date(1501783442 * 1000);
  document.getElementById("demo").innerHTML = d;
</script>
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

<p id="demo"></p>

<script>
  var d = new Date(1501783442);
  document.getElementById("demo").innerHTML = d;
</script>