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

Pra*_*are 2 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>
Run Code Online (Sandbox Code Playgroud)

Jsfiddle 链接.

这里发生了什么?

Pet*_*r B 10

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

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

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

<script>
  var d = new Date(1501783442 * 1000);
  document.getElementById("demo").innerHTML = d;
</script>
Run Code Online (Sandbox Code Playgroud)