Quiero convertir segundos en minutos. Por ejemplo, 61 segundos deben mostrarse como 1:01 (no 1:1) Probé con parseInt(sec / 60) : sec % 60 . Si sec=61 se muestra como 1:1 .
Tengo datos de la API de música que me dan la duración de la música en segundos y tengo que convertirlos en minutos. Lo intenté
{parseInt(data.duration / 60 )} : {data.duration % 60} a veces me da 3:35, 3:24 y 3:1 . Tengo que agregar 0 antes de 1 también. ¿Cómo puedo hacerlo? También probé con
{parseInt(data.duration / 60 )} : {parseFloat(data.duration % 60).toFixed(2)} está mostrando 1:1.00 Quiero mostrarlo como 1:01 .
De forma anticipada, muchas gracias por su ayuda.
prueba esto
const convertToTime = (time) => (time < 10 ? `0${time}` : time); const sec = 69; const result = `${convertToTime(parseInt(sec / 60))}:${convertToTime(sec % 60)}`;; console.log(result);function parseTime(time) { const minutes = Math.floor(time / 60); const second = time % 60; // return `${minutes}:${second < 10 ? "0" : ""}${second}`; return `${minutes}:${second.toString().padStart(2, "0")}`; }Puede usar la declaración if else para verificar el segundo o usar padStart para asegurarse de que la longitud del segundo sea siempre 2.
Gracias por todo tu apoyo. Encontré la respuesta. Gracias a @ace1234
{parseInt(data.duration / 60)} : {parseFloat(data.duration % 60 ).toString().padStart(2, "0")