Ir al contenido

Convertir segundos en formato hora con Javascript

Ciertos sistemas o propiedades nos pueden dar datos en formato de segundos. Si estamos en ese caso y queramos convertir segundos en formato hora con Javascript deberemos de seguir los siguientes pasos.

Lo primero será guardar en una variable los segundos:

var segundos = 3600;

Ahora instanciaremos un objeto de Tipo Date. La inicialización del objeto Date es mediante milisegundos, por lo que necesitaremos multiplicar por 1000 nuestro valor en segundos.

var fechaInicio = new Date(segundos * 1000);

Ahora solo tenemos que acceder a los métodos del objeto Date. Al .getHours(), getMinutes() y getSeconds(). Estos nos dará los valores en formato hora.

var horas = fechaInicio.getHours() - 1;
var minutos = fechaInicio.getMinutes();
var segundos = fechaInicio.getSeconds();

De este código hay que fijarse en dos cosas. La primera es que el valor de la hora retornará una hora más de la que realmente es. Es por ello que hacemos la corrección.

var horas = fechaInicio.getHours() - 1;

Y lo segundo en lo que debemos de fijarnos es en el uso del operador ternario para poner los minutos, segundos y horas en un formato de dos dígitos. Y es que los valores inferiores al 10 siempre vendrán solos. Es decir, 1, 2, 3, 4,… cuando nosotros queremos poner 01, 02, 03, 04,…

horas = (horas < 10) ? "0" + horas : horas;
minutos = (minutos < 10) ? "0" + minutos : minutos;
segundos = (segundos < 10) ? "0" + segundos : segundos;

Solo quedará volcar el contenido y añadir los dos puntos:

document.getElementById('tiempo').innerHTML = horas + ":" + minutos + ":" + segundos;

Ya hemos visto que con el uso del objeto Date hemos conseguido convertir segundos en formato hora con Javascript.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Convertir segundos en formato hora con Javascript

El artículo explica cómo convertir segundos en formato hora con Javascript utilizando el objeto Date y formateando el resultado.

Descargar código