我收到的数据如下:
deviceTimestamp:1531564520188828
我想将此时间戳转换为人类日期并使用以下代码:
moment.unix(timestamp).format('dddd, MMMM Do, YYYY h:mm:ss A');
但是当我console.log(deviceTimestamp)时,它会向我返回
BigNumber { s: 1, e: 15, c: [ 15, 31656237268093 ] },
时间戳转换不起作用。
答案 0 :(得分:2)
恕我直言,您正在尝试执行以下操作:
deviceTimestamp = 1531564520188828;
var d = new Date(deviceTimestamp);
console.log(d);
console.log(d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear());
var dateString = d.toGMTString();
console.log(dateString);
注意:
答案 1 :(得分:0)
您看到的数字似乎是1970年1月1日午夜以来的微秒数。
忘记Unix时间戳,并将JavaScript时间戳除以您的数字1,000。
var deviceTimestamp = 1531564520188828;
var date = moment(deviceTimestamp/1000).format('dddd, MMMM Do, YYYY h:mm:ss A');
console.log(date);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.1/moment.min.js"></script>
答案 2 :(得分:0)
Moment.js的玩法非常有趣。
let deviceTimestamp = 1531564520188828
var date = moment(deviceTimestamp/1000).format('dddd, MMMM Do, YYYY h:mm:ss A');
如果您想详细了解Moment.js,请打开https://momentjs.com/:右键单击,然后单击“检查”,然后尝试在控制台中尝试所有类型的可能性。
答案 3 :(得分:-1)
function removeLast6(str) {
str = str.toString();
str = str.slice(0, -6);
str = parseInt(str);
return str;
}
function convertToHumanDate(timestamp) {
return moment.unix(timestamp).format('dddd, MMMM Do, YYYY h:mm:ss A');
}
const timestampNumber = await removeLast6(1531564520188828);
const date = await convertToHumanDate(timestampNumber);