Convertir segundos en formato hora con Javascript

23/ene/2012 JavaScript , , 4 Comentarios
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:

  1. segundos = 1341;

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.

  1. var d=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.

  1. var hora = (d.getHours()==0)?23:d.getHours()-1;
  2. var hora = (hora<9)?"0"+hora:hora;
  3. var minuto = (d.getMinutes()<9)?"0"+d.getMinutes():d.getMinutes();
  4. var segundo = (d.getSeconds()<9)?"0"+d.getSeconds():d.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.

  1. var hora = (d.getHours()==0)?23:d.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,...

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

  1. document.write(hora+":"+minuto+":"+segundo);

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

Vídeos sobre Javascript

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

4 comentarios en “Convertir segundos en formato hora con Javascript”

Víctor Cuervo

keyvin2012

Gracias amigo tu código me sirvió de inspiración, estoy creando un reproductor de vídeo html5, por los momentos llevo esto:

http://kjpc.sytes.net/videohtml5/

compatible con Firefox, Chrome, Safari y Opera últimas versiones

solo me falta:

la barra de progreso tratare de hacerla como el slider volumen con la opciones de ver buffer cargando, poder mover el slider y un tooltip en el handle avizando los minutos en dicho movimiento

adaptar full screen a opera ya que todavía no tiene soporte al api fullscreen aunque tengo gana de esperar alguna opcion nativa

en Ie es una cosa serie al final veré que puedo hacer :S

saludos desde Venezuela 😀

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*


*