python

Python – Convertir segundos a segundos, minutos y horas

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.

Algoritmo

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.

Segundos a hora legible 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:

Python – Convertir segundos a horas, minutos y segundos en formato legible HH MM SS

Por aquí te dejo más tutoriales de Python.

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/

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.

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.