如何让moment.js以秒为单位显示相对时间? [英] How to make moment.js show relative time in seconds?

查看:513
本文介绍了如何让moment.js以秒为单位显示相对时间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下脚本显示从现在到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>  



它会返回类似的内容5个月内 ,而我希望在123456789秒内

解决方案

您可以使用 diff 指定'秒'单位作为第二个参数:



  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>  



如果您需要自定义时刻显示相对时间的方式(例如 fromNow()输出)你可以使用 relativeTimeThreshold relativeTime 。这里有一个例子:



  var mom = moment(20170703 00:00: 00,YYYYMMDD HH:mm:ss); console.log(mom.fromNow()); //更改relativeTimeThresholdmoment.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>  


The following script shows the relative time from now to 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>

It returns something like in 5 months, while I expect something like in 123456789 seconds.

解决方案

You can get seconds between two moment objects using diff specifing 'seconds' unit as second parameter:

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>

If you need to customize how moment shows relative time (e.g. the fromNow() output) you can use relativeTimeThreshold and relativeTime. Here an example:

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>

这篇关于如何让moment.js以秒为单位显示相对时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆