[英]Moment.js unix timestamp to display time ago always in minutes
我正在使用Moment.js,并希望将Unix时间戳转换为(总是)从当前时间开始的分钟数。 例如4分钟前,30分钟前,94分钟前,依此类推。
现在我正在使用:
moment.unix(d).fromNow()
但这并不总是在几分钟内显示,例如一个小时前,一天前等。 我尝试使用.asMinutes(),但我相信只有带有moment.duration()的单词。
不确定使用本机Moment方法是否可行,但是您可以轻松进行自己的Moment扩展:
moment.fn.minutesFromNow = function() {
return Math.floor((+new Date() - (+this))/60000) + ' mins ago';
}
//then call:
moment.unix(d).minutesFromNow();
请注意,在我的扩展程序返回一个字符串后, minutesFromNow()
之后其他minutesFromNow()
方法将不再可链接。
编辑:
以固定的复数(0 min s ,1 min,2 min s )扩展:
moment.fn.minutesFromNow = function() {
var r = Math.floor((+new Date() - (+this))/60000);
return r + ' min' + ((r===1) ? '' : 's') + ' ago';
}
如果您喜欢长格式,也可以用“分钟”替换“分钟”。
只需在moment.js代码中修改“查找”功能,即可返回分钟:
from : function (time, withoutSuffix) {
return moment.duration(this.diff(time)).asMinutes();
}
这是一个例子 。
...或者甚至更好。 只需将其添加为名为“ fromNowInMinutes”的新函数即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.