以下脚本显示了从现在到 2017/07/03 的相对时间。
document.write(moment("20170703 00:00:00", "YYYYMMDD hh:mm:ss").fromNow());
<script src="https://cdn.bootcss.com/moment.js/2.17.1/moment.min.js"></script>
它返回类似 in 5 months
的东西,而我期望类似 in 123456789 seconds
.
您可以使用diff
指定单位作为第二个参数来获取两个时刻对象之间的秒数'seconds'
:
var mom = moment("20170703 00:00:00", "YYYYMMDD HH:mm:ss");
document.writeln(mom.fromNow());
document.writeln(mom.diff(moment(), 's'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.16.0/moment.min.js"></script>
如果您需要自定义 moment 显示相对时间的方式(例如fromNow()
输出(,您可以使用 relativeTimeThreshold
和 relativeTime
。这里有一个例子:
var mom = moment("20170703 00:00:00", "YYYYMMDD HH:mm:ss");
console.log(mom.fromNow());
// Change relativeTimeThreshold
moment.relativeTimeThreshold('s', 60*60*24*30*12);
moment.updateLocale('en', {
relativeTime : {
s: function (number, withoutSuffix, key, isFuture){
return number + ' seconds';
},
}
});
console.log(mom.fromNow());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.16.0/moment.min.js"></script>
您可以通过这种方式轻松获取从现在开始的剩余秒数:
var seconds = moment("20170703 00:00:00", "YYYYMMDD hh:mm:ss").unix() - moment().unix()