Dado un número entero n (en segundos), conviértalo en horas, minutos y segundos.
Ejemplos:
Input : 12345 Output : 3:25:45 Input : 3600 Output : 1:00:00
Enfoque #1: Ingenuo
Este enfoque es simplemente un enfoque ingenuo para obtener las horas, los minutos y los segundos mediante cálculos matemáticos simples.
# Python Program to Convert seconds # into hours, minutes and seconds def convert(seconds): seconds = seconds % (24 * 3600) hour = seconds // 3600 seconds %= 3600 minutes = seconds // 60 seconds %= 60 return "%d:%02d:%02d" % (hour, minutes, seconds) # Driver program n = 12345 print(convert(n))
3:25:45
Enfoque n.º 2: alternativa al enfoque ingenuo
Al usar la divmod()
función, que hace solo una división para producir tanto el cociente como el resto, puede obtener el resultado muy rápidamente con solo dos operaciones matemáticas.
# Python Program to Convert seconds # into hours, minutes and seconds def convert(seconds): min, sec = divmod(seconds, 60) hour, min = divmod(min, 60) return "%d:%02d:%02d" % (hour, min, sec) # Driver program n = 12345 print(convert(n))
3:25:45
Enfoque #3: Usando timedelta
(Objeto del datetime
módulo)
El módulo de fecha y hora proporciona un objeto timedelta que representa una duración, la diferencia entre dos fechas u horas. datetime.timedelta
se puede utilizar para representar segundos en formato de horas, minutos y segundos.
# Python Program to Convert seconds # into hours, minutes and seconds import datetime def convert(n): return str(datetime.timedelta(seconds = n)) # Driver program n = 12345 print(convert(n))
3:25:45
Enfoque #4: Usartime.strftime()
time.strftime()
da más control sobre el formato. El formato y time.gmtime()
se pasa como argumento. gmtime se utiliza para convertir segundos a formato de tupla especial que strftime()
requiere.
# Python Program to Convert seconds # into hours, minutes and seconds import time def convert(seconds): return time.strftime("%H:%M:%S", time.gmtime(n)) # Driver program n = 12345 print(convert(n))
03:25:45
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA