时刻unix时间戳格式错误的日期

paz*_*zta 4 javascript momentjs

我想将 Unix 毫秒时间戳转换为可读日期。

我的时间戳是 1525772511140。正确的输出应该类似于:29-05-2018 9:41:51AM

现在我的代码返回错误的日期:31-10-50319 03:10...

代码:

var timeStamp = new Date(1525772511140 * 1000);
var date = moment(timeStamp).format('DD-MM-YYYY HH:mm');
console.log(date);
Run Code Online (Sandbox Code Playgroud)

Vin*_*zoC 6

您可以简单地使用moment(Number)

与 类似,您可以通过传递表示自 Unix 纪元(1970 年 1 月 1 日 12AM UTC)以来的毫秒new Date(Number)数的整数值来创建时刻

var date = moment(1525772511140).format('DD-MM-YYYY HH:mm');
console.log(date);
// with seconds and AM/PM
date = moment(1525772511140).format('DD-MM-YYYY hh:mm:ss A');
console.log(date);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

原生 JavaScript 解决方案(没有 moment.js):

var d = new Date(1525772511140);
console.log(
  ("0" + d.getDate()).slice(-2) + '-' +
  ("0" + (d.getMonth()+1)).slice(-2) + '-' + 
  d.getFullYear() + ' ' +
  d.getHours() + ':' +
  d.getMinutes()
);
Run Code Online (Sandbox Code Playgroud)