Moment.js unix时间戳,以分钟为单位显示以前的时间
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();
Fiddle
请注意,其他矩方法在minutesFromNow()
之后将不可链接,因为我的扩展返回一个字符串。
编辑:
具有固定复数的扩展(0分钟s,1分钟,2分钟smoment.fn.minutesFromNow = function() {
var r = Math.floor((+new Date() - (+this))/60000);
return r + ' min' + ((r===1) ? '' : 's') + ' ago';
}
如果你喜欢长格式,你也可以用"分钟"代替"分钟"。
Fiddle
只需修改moment.js代码中的"find"函数,即可返回minutes:
from : function (time, withoutSuffix) {
return moment.duration(this.diff(time)).asMinutes();
}
下面是一个例子。
或者,甚至更好。只需将其添加为一个名为"fromNowInMinutes"的新函数即可。
相关文章:
- 显示时间的脚本
- 如何用前导零显示时间
- 如何在烛光图表中添加/显示时间框架
- 如何在页面上显示时间、日期IP和URL?更新日期:2015年2月25日
- 在条件中的几个时间行中设置自定义css效果后,从Jquery时间选择器显示时间
- 在指定时间中添加 24 小时后在网页上显示时间 x
- 如何像这样显示时间,例如:1秒前,1分钟前,1小时前,1个月前
- j查询日期选取器不显示时间输入值
- JavaScript 和 JQuery:在文本框中显示时间
- 给定一个时间戳,如何按天/周/月显示时间
- 为什么不显示时间
- 显示时间而不是日期的图表
- 根据天数和月数显示时间戳
- 如何在 Javascript 中显示时间
- 如果午夜使用时刻.js,则不显示时间
- 是否可以筛选 JSON 源以仅显示时间戳字符串中的时间
- 检查后显示时间选择器复选框,导轨(Redmine)
- 设置showErrorMessage()的显示时间
- 以12小时格式显示时间
- 日期时间倒计时,删除小数,并在每个类别中保留时间显示时间