为什么1387568966在Javascript中是无效的日期?

时间:2014-01-15 09:20:26

标签: javascript date

这是我的代码:

var data = "1387568966 ";
var parsedDate = new Date(Date.parse(data));

但如果我打印parsedDate,则会显示“Invalid Date”。

我哪里错了?它应该与时间戳一起使用。

2 个答案:

答案 0 :(得分:6)

创建时间戳使用the Date constructor taking a number as argument的日期(自Epoch以来的毫秒数):

var data = "1387568966 ";
var parsedDate = new Date(data*1000); // converts from "seconds" to milliseconds

var parsedDate = new Date(parseFloat(data)*1000);

如果你想让你的代码更明显。

答案 1 :(得分:2)

您使用Data.parse()错误,它与您的想法相反。

来自MDN

  

Date.parse()方法解析日期的字符串表示,和   返回自1970年1月1日00:00:00以来的毫秒数   UTC。

相反,只需将字符串解析为整数并将其传递给日期构造函数。