javascript

JavaScript – Convertir milisegundos a segundos y minutos

En este artículo de programación en JavaScript te enseñaré a convertir milisegundos a segundos y minutos legibles para el usuario.

Por ejemplo, convertir 1500 milisegundos a 1 segundo en su representación 00:01.5 en donde tenemos los minutos, luego los segundos y luego la fracción del segundo: algo así como para un cronómetro.

Milisegundos a segundos y minutos

Para convertir desde milisegundos a segundos y minutos (incluso a horas con algunas modificaciones) simplemente tenemos que hacer operaciones matemáticas.

En el caso de los minutos debemos dividir los milisegundos entre 1000 (para convertir a segundos) y luego entre 60 (para convertir a minutos). El resultado debe ser convertido a entero.

Después de eso restamos los milisegundos que ya convertimos a minutos para tener un sobrante de milisegundos. A ese sobrante lo dividimos entre 1000 y serán los segundos con fracción.

Función en JavaScript

Convertir milisegundos a segundos y minutos con JavaScript

Lo que expliqué anteriormente se traduce al siguiente código. Por cierto, también he agregado un método que agrega un cero a la izquierda si es que es necesario, para que por ejemplo el 9 sea convertido a 09 pero el 10 sea dejado intacto.

Queda así:

/*
https://parzibyte.me/blog
*/const agregarCeroSiEsNecesario = valor => {
 if (valor < 10) {
  return "0" + valor;
 } else {
  return "" + valor;
 }
}
const milisegundosAMinutosYSegundos = (milisegundos) => {
 const minutos = parseInt(milisegundos / 1000 / 60);
 milisegundos -= minutos * 60 * 1000;
 const segundos = (milisegundos / 1000);
 return `${agregarCeroSiEsNecesario(minutos)}:${agregarCeroSiEsNecesario(segundos.toFixed(1))}`;
};

const pruebas = [60000, 15000, 1000, 600000];
for (const prueba of pruebas) {
 const conversion = milisegundosAMinutosYSegundos(prueba);
 console.log("Los %d milisegundos se convierten a %s\n", prueba, conversion);
}

Nota: en la línea 15 estoy usando las plantillas de cadena.

La salida ya la pudiste ver en la imagen que acompaña al encabezado.

Eres libre de modificarlo y adaptarlo a tus necesidades. Como te dije, puedes hacer que muestre incluso las horas o extraer los valores por separado y darles otro uso.

Por ahora he ejecutado la función en Node (del lado del servidor) pero funciona en el lado del cliente de igual forma, pues al final el lenguaje es el mismo: JavaScript.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.