I\'ve searching the moment.js docs and stackoverflow for a way to use the fromNow() function but returning everything in hours.
What I mean is:
You can use relativeTimeThreshold to customize thresholds for moment relative time.
As the docs says:
duration.humanizehas thresholds which define when a unit is considered a minute, an hour and so on. For example, by default more than 45 seconds is considered a minute, more than 22 hours is considered a day and so on. To change those cutoffs usemoment.relativeTimeThreshold(unit, limit)where unit is one ofs,m,h,d,M.
In your case, you can increase hour thresholds to get relative days as hours. Here a working example showing time as hours from 1 hour to 26 days:
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());
Note that, if you need, moment lets you customize relative time further with relativeTime (here one of my examples) and relativeTimeRounding method.