Estoy usando la biblioteca 'momento'. Tengo una duración en minutos, y quiero que se humanice.
Por ejemplo:
const totalMinutes = 124; console.log(moment.duration(totalMinutes, 'minutes').humanize()); // prints 2 hourspero eso no es lo que quiero, quiero que sea:
124 => 2 hours, 4 minutes
34 => 34 minutes // no hours
725 => 12 hours, 5 minutes
No me importan los días o los segundos.
Sé que de alguna manera puedo extraer las horas y los minutos y unirlos para hacer la cadena final, pero siento que hay una manera más corta al menos usando la biblioteca misma. Sin mencionar que quiero que el texto esté localizado en otros idiomas, lo que la biblioteca de momento admite.
Desafortunadamente, parece que la biblioteca Moment JS no tiene esto listo para usar, y tuve que usar otra biblioteca .
Aquí está la solución:
import humanizeDuration from "humanize-duration"; console.log(humanizeDuration(658 * 60 * 1000, { language: 'en'})); // prints 10 hours, 58 minutes console.log(humanizeDuration(55 * 60 * 1000, { language: 'en'})); // prints 55 minutesque es exactamente lo que quiero.