
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:
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.
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.
var hora = (d.getHours()==0)?23:d.getHours()-1;
var hora = (hora<9)?"0"+hora:hora;
var minuto = (d.getMinutes()<9)?"0"+d.getMinutes():d.getMinutes();
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.
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:
document.write(hora+":"+minuto+":"+segundo);
Ya hemos visto que con el uso del objeto Date hemos conseguido convertir segundos en formato hora con Javascript.
Uknown
Muchas gracias, una cosica, será <=9 en lugar de <9 , no?
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 :D