En el post de hoy te enseñaré a convertir una cantidad de segundos a un texto legible que muestra el tiempo en horas, minutos y segundos usando Python.
Por ejemplo, convertir 6000 segundos a 01:40:00, mostrando en formato HH:MM:SS.
Lo que haremos será extraer, como enteros, los minutos y horas de los segundos.
Primero obtenemos las horas a los que equivalen esos segundos (de manera entera) y restamos esa cantidad extraída. Para esto dividimos los segundos entre 60 entre 60 (sí, dos veces).
Después de eso extraemos los minutos usando la misma técnica (ahora dividiendo entre 60 una vez), y restamos esa cantidad que hemos extraído.
Finalmente para sacar los segundos ya no hacemos ninguna división, pues ya fuimos sustrayendo las horas y minutos, así que el sobrante son los segundos que vamos a usar.
Nota: en la conversión de segundos a horas me parece que se puede optimizar dividiendo entre 3600.
Nota 2: vamos a usar la función para agregar ceros a la izquierda en Python.
Entonces veamos la función. La misma recibe la cantidad de segundos y devuelve el tiempo legible en formato de horas, minutos y segundos. Algo así como se vería en un temporizador, reloj, cronómetro, etcétera.
"""
https://parzibyte.me/blog
"""
def segundos_a_segundos_minutos_y_horas(segundos):
horas = int(segundos / 60 / 60)
segundos -= horas*60*60
minutos = int(segundos/60)
segundos -= minutos*60
return f"{horas:02d}:{minutos:02d}:{segundos:02d}"
Para usarla podemos usar el siguiente código de ejemplo:
"""
https://parzibyte.me/blog
"""
def segundos_a_segundos_minutos_y_horas(segundos):
horas = int(segundos / 60 / 60)
segundos -= horas*60*60
minutos = int(segundos/60)
segundos -= minutos*60
return f"{horas:02d}:{minutos:02d}:{segundos:02d}"
segundos = [10, 100, 40, 1500, 6000, 60, 59, 100000]
for cantidad_segundos in segundos:
convertido = segundos_a_segundos_minutos_y_horas(cantidad_segundos)
print(f"Los {cantidad_segundos} segundos se convierten a {convertido}")
La salida es como se ve a continuación:
Por aquí te dejo más tutoriales de Python.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
Hola, muchisimas gracias. Pregunta, cómo podría hacer si quiero pasar de milisegundos a formato hh:mm:ss:msmsms. Es para pasar una lista de milisegundos a formato SRT de subtitulado. O sea, que haya milisegundos ademas del formato hh:mm:ss y se parte de milisegundos, no de segundos.
Hola. Gracias por sus comentarios. Si tiene alguna consulta o duda, solicitud de creación de un programa, solicitud de vídeo o solicitud de cambio de software estoy para servirle en https://parzibyte.me/#contacto
Saludos!