Ésta es mi solución en CoffeeScript:
humanizeDuration = (eventDuration)->
eventMDuration = Moment.duration(eventDuration, 'seconds');
eventDurationString = ""
if (eventMDuration.days() > 0)
eventDurationString += " " + Moment.duration(eventMDuration.days(), 'days').humanize()
if (eventMDuration.hours() > 0)
eventDurationString += " " + Moment.duration(eventMDuration.hours(), 'hours').humanize()
if (eventMDuration.minutes() > 0)
eventDurationString += " " + Moment.duration(eventMDuration.minutes(), 'minutes').humanize()
eventDurationString.trim()
No hay necesidad de una tercera parte. Puede usar ['moment.relativeTimeThreshold ('y', 365)'] (https://github.com/moment/momentjs.com/blob/master/docs/moment/07-customization/13-relative-time- threshold.md) para establecer el redondeo. – RJFalconer