Ingresaría como 1d5h40m y generaría 1 día, 5 horas y 40 minutos. ¿Alguna forma de hacerlo?
Divida la cadena de entrada sin dígitos y extraiga lo que necesita de esa cadena dividida. Esto solo funcionará si la entrada está en el patrón exacto que mencionaste.
let str = '1d5h40m'; let time = str.split(/\D/); console.log(time[0] + 'day', time[1] + 'hour', time[2] + 'minute');¿Qué tal esto? Aunque tendrías que trabajar más para averiguar la pluralidad de día(s), hora(s) y minuto(s).
const duration = '1d5h40m'; var formatted = duration .replace('d', ' day, ') .replace('h', ' hours and ') .replace('m', ' minutes '); console.log(formatted);Es largo pero funciona
var time="1d5h40m"; const day = time.split("d")[0]; time = time.replace(day+"d", ""); const hours = time.split("h")[0]; time = time.replace(hours+"h", ""); const minutes = time.split("m")[0]; console.log(day+" day, "+hours+" hours and,"+minutes+" minutes");