我正在使用 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()
之后,其他 moment 方法将无法链接,因为我的扩展返回一个字符串。
编辑:
固定复数的扩展(0 分钟s、1 分钟、2 分钟s):
moment.fn.minutesFromNow = function() {
var r = Math.floor((+new Date() - (+this))/60000);
return r + ' min' + ((r===1) ? '' : 's') + ' ago';
}
如果您喜欢长格式,也可以将“min”替换为“minute”。
关于javascript - Moment.js unix 时间戳总是以分钟为单位显示时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12134568/