我已经搜索过moment.js 文档 http://momentjs.com/docs/ and 堆栈溢出 https://stackoverflow.com/的一种使用方法fromNow()
功能但在几小时内返回所有内容。
我的意思是:
moment([2017, 01, 05]).fromNow(); // a day ago
应该
moment([2017, 01, 05]).fromNow(); // 24 hours ago
我知道可以使用以下方法来做到这一点.diff
可能还有其他类似的功能,然后添加文本,但是可以使用.fromNow()
去做这个?
您可以使用relativeTimeThreshold http://momentjs.com/docs/#/customization/relative-time-threshold/自定义时刻相对时间的阈值。
正如文档所说:
duration.humanize
具有定义何时将单位视为分钟、小时等的阈值。例如,默认情况下超过 45 秒被视为一分钟,超过 22 小时被视为一天等等。要更改这些截止值,请使用moment.relativeTimeThreshold(unit, limit)
其中单位是其中之一s
, m
, h
, d
, M
.
在您的情况下,您可以增加小时阈值以获得相对天数作为小时。下面是一个以小时为单位显示从 1 小时到 26 天的时间的工作示例:
var m1 = moment().subtract(5, 'h');
var m2 = moment().subtract(55, 'h');
var m3 = moment().subtract(1, 'd');
// Default results
console.log(m1.fromNow());
console.log(m2.fromNow());
console.log(m3.fromNow());
// Change relativeTimeThreshold
moment.relativeTimeThreshold('m', 60);
moment.relativeTimeThreshold('h', 24*26);
// Results in hours
console.log(m1.fromNow());
console.log(m2.fromNow());
console.log(m3.fromNow());
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
请注意,如果您需要,时刻可以让您进一步自定义相对时间relativeTime http://momentjs.com/docs/#/customization/relative-time/ (here https://stackoverflow.com/a/38385371/4131048我的例子之一)和relativeTimeRounding http://momentjs.com/docs/#/customization/relative-time-rounding/ method.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)