时代迄今为止在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>

Jsfiddle link.

这是怎么回事?

首先,根据 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>

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

最新更新