为什么新日期返回错误的日期?

时间:2019-02-19 10:24:43

标签: javascript

当我创建新对象var date = new Date(1550571050)时 返回

  

1970年1月19日星期一05:42:51 GMT + 0700

应该是

  

2019年2月19日星期一05:42:51 GTM + 0700

这有什么问题?

4 个答案:

答案 0 :(得分:7)

var date = new Date(1550571050)具有日期1550571050,以秒为单位。

MDN所述,Date构造函数接受unix时间戳

  

一个整数值,表示毫秒

如果将000添加到日期中,则将以毫秒而不是秒为单位,并且日期对象将是正确的

new Date(1550571050000)
// Tue Feb 19 2019 12:10:50 GMT+0200 (Eastern European Standard Time)

答案 1 :(得分:1)

Javascript时间戳以毫秒为单位,而不是以秒为单位

答案 2 :(得分:1)

只要这样做:

var timestamp = 1550571050;
var date = new Date(timestamp * 1000);

并参考此:

Timestamp to human readable format

答案 3 :(得分:1)

时间戳以毫秒为单位,因此乘以1000,它将给出正确的日期。

new Date(1550571050000)