moment.unix() 没有给出正确的时间戳值
moment.unix() not giving correct value for timestamp
我有以下时间戳 1447862653771
,我想对其进行格式化。
www.epochconverter.com 成功转换为 GMT: Wed, 18 Nov 2015 16:04:13 GMT
我正在使用 moment.js
,但它没有正确格式化日期。
moment.unix('1447862653771') 12 月 10 日星期二 47850 09:29:31 GMT-0500(东部标准时间)
$("body").append($("<p>").text(moment.unix('1447862653771')));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/1.7.2/moment.min.js"></script>
1447862653771
是毫秒,不是秒。先除以 1000。请注意,年份是 47850
!
moment.unix(1447862653771 / 1000);
或
moment.unix((new Date()).getTime() / 1000);
此外,无需将时间戳作为字符串传递。
moment.unix
函数需要以整秒为单位的值。由于您的值包含毫秒,因此您应该将其传递给 moment
函数,如下所示:
var m = moment(1447862653771);
虽然按照其他答案中的建议除以 1000 可能 可行 ,但这并不理想,因为它依赖于 unix
函数然后在内部乘以 1000。保留小数点,因此不会损失精度,但它涉及两个无关的操作,并且会消耗一些额外的源代码字节。
我有以下时间戳 1447862653771
,我想对其进行格式化。
www.epochconverter.com 成功转换为 GMT: Wed, 18 Nov 2015 16:04:13 GMT
我正在使用 moment.js
,但它没有正确格式化日期。
moment.unix('1447862653771') 12 月 10 日星期二 47850 09:29:31 GMT-0500(东部标准时间)
$("body").append($("<p>").text(moment.unix('1447862653771')));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/1.7.2/moment.min.js"></script>
1447862653771
是毫秒,不是秒。先除以 1000。请注意,年份是 47850
!
moment.unix(1447862653771 / 1000);
或
moment.unix((new Date()).getTime() / 1000);
此外,无需将时间戳作为字符串传递。
moment.unix
函数需要以整秒为单位的值。由于您的值包含毫秒,因此您应该将其传递给 moment
函数,如下所示:
var m = moment(1447862653771);
虽然按照其他答案中的建议除以 1000 可能 可行 ,但这并不理想,因为它依赖于 unix
函数然后在内部乘以 1000。保留小数点,因此不会损失精度,但它涉及两个无关的操作,并且会消耗一些额外的源代码字节。