Tengo la cadena de tiempo de video "02:30" y video.duration of video es 239. Ahora, ¿cómo convertir "02:30" a hora actual?
Use split(":") puede resolver eso, espero que a continuación lo ayude:
function convert(str){ let a = str.split(':') return Number(a[0]) * 60 + Number(a[1]) } const currentTime = convert('02:30') console.log("currentTime is", currentTime)Una solución de una línea
Si desea una solución simple de una línea, puede usar Array.reduce . Tenga en cuenta que dividir devuelve una string[2] , pero los convertimos en números aplicando operadores matemáticos, por ejemplo, + mm es la abreviatura de Número (mm). Consulte también las funciones de flecha de JavaScript de MDN
let toMinutes = hhmm => hhmm.split(":").reduce((hh, mm) => +mm + 60 * hh );Ejecute el fragmento de código para ver el resultado de la prueba
let toMinutes = hhmm => hhmm.split(":").reduce((hh, mm) => +mm + 60 * hh ); // TEST ["00:30", "1:00", "01:15", "1:30", "01:45", "2:00", "2:15", "2:30", "2:45", "3:00", "24:00" ].forEach(t => { console.log(`${t} = ${toMinutes(t)} minutes`) });