使用Javascript的Unix到datetime对象

使用Javascript的Unix到datetime对象,javascript,Javascript,我试图使用javascript将unix时间戳转换为datetime对象,但得到了一个奇怪的输出 我使用的unix时间戳是1420243200000和1420272000000。我的javascript代码如下所示: function timeConverter(UNIX_timestamp){ // var a = new Date(UNIX_timestamp*1000); // var year = a.getFullYear(); // var month = a.getMo

我试图使用javascript将unix时间戳转换为datetime对象,但得到了一个奇怪的输出

我使用的unix时间戳是
1420243200000
1420272000000
。我的javascript代码如下所示:

function timeConverter(UNIX_timestamp){
  // var a = new Date(UNIX_timestamp*1000);
  // var year = a.getFullYear();
  // var month = a.getMonth()+1;
  // var date = a.getDate();
  // var hour = a.getHours();
  // var min = "0" + a.getMinutes();
  // var sec = "0" + a.getSeconds();
  // var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min.substr(-2) + ':' + sec.substr(-2) ;
  // return time;
  var myDate = new Date( UNIX_timestamp *1000);
  time = myDate.toLocaleString();
  return time;
}

已注释或未注释的尝试都不会产生正确的日期。我一直得到
9/18/46975,下午6:00
8/17/46976,凌晨2:00
作为答案,我不知道出了什么问题。

您的时间戳似乎已经以毫秒为单位。不要乘以1000


将其称为“UNIX\u时间戳”是一种误导。JS函数的时间戳(如
Date.now()
+new Date()
)是从纪元开始经过的毫秒。

尝试
myDate=new Date(1420243200000)

从文件中


调用构造函数
新日期(值)。其中,
value
是“表示自1970年1月1日00:00:00 UTC(Unix历元)以来的毫秒数的整数值”。

如果不乘以1000,则得到的结果是
无效日期
。@kdubs这是因为变量可能是字符串。试试看。那是一根绳子。通过使用
var timestamp=parseInt(UNIX\u字符串,10)修复了它谢谢!