Dominar el Módulo time de Python: Funciones, Structs y Ejemplos Prácticos
Módulo time de Python
Explora el módulo estándar time en Python, aprende sus funciones principales y ve ejemplos claros que demuestran su uso en el mundo real.
El módulo time de Python proporciona herramientas para trabajar con marcas de tiempo, programación y medición de tiempo transcurrido. Antes de usar cualquier función, importa el módulo:
import time
time.time()
La función time() devuelve la hora actual en segundos desde la época Unix (00:00:00 UTC del 1 de enero de 1970). En sistemas tipo Unix este valor de época es fijo; en Windows se deriva del mismo punto.
import time
seconds = time.time()
print("Segundos desde la época =", seconds)
time.ctime()
Convierte una marca de tiempo POSIX (segundos desde la época) en una cadena legible en la zona horaria local.
import time
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Hora local:", local_time)
Salida típica:
Hora local: Thu Dec 27 15:49:29 2018
time.sleep()
Retrasa la ejecución del hilo actual durante el número de segundos especificado.
import time
print("Esto se imprime inmediatamente.")
time.sleep(2.4)
print("Esto se imprime después de 2.4 segundos.")
Para más detalles, consulta la documentación de Python sleep().
Clase time.struct_time
Funciones como gmtime() y asctime() devuelven o aceptan un objeto time.struct_time, una tupla de 9 elementos que representa una hora de calendario.
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=6, tm_min=35, tm_sec=17, tm_wday=3, tm_yday=361, tm_isdst=0)
| Índice | Atributo | Valores |
|---|---|---|
| 0 | tm_year | 0000 … 9999 |
| 1 | tm_mon | 1 … 12 |
| 2 | tm_mday | 1 … 31 |
| 3 | tm_hour | 0 … 23 |
| 4 | tm_min | 0 … 59 |
| 5 | tm_sec | 0 … 61 |
| 6 | tm_wday | 0 (Lun) … 6 (Dom) |
| 7 | tm_yday | 1 … 366 |
| 8 | tm_isdst | 0, 1 o -1 |
Puedes acceder a los elementos ya sea por índice o por nombre de atributo.
time.localtime()
Convierte una marca de tiempo POSIX en un struct_time expresado en la zona horaria local. Si se omite, se usa la hora actual.
import time
result = time.localtime(1545925769)
print("resultado:", result)
print("\naño:", result.tm_year)
print("tm_hour:", result.tm_hour)
Salida típica:
resultado: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) año: 2018 tm_hour: 15
time.gmtime()
Igual que localtime() pero devuelve la hora UTC (GMT). El argumento omitido toma por defecto el valor actual de la época.
import time
result = time.gmtime(1545925769)
print("resultado:", result)
print("\naño:", result.tm_year)
print("tm_hour:", result.tm_hour)
Salida típica:
resultado: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=44, tm_sec=4, tm_wday=4, tm_yday=362, tm_isdst=0) año: 2018 tm_hour: 8
time.mktime()
Convierte un struct_time local (o su tupla de 9 elementos) de nuevo en una marca de tiempo POSIX. Es efectivamente la inversa de localtime().
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
local_time = time.mktime(t)
print("Hora local:", local_time)
Ejemplo mostrando el viaje de ida y vuelta:
import time
seconds = 1545925769
t = time.localtime(seconds)
print("t1:", t)
s = time.mktime(t)
print("\ns:", s)
Salida típica:
t1: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) s: 1545925769.0
time.asctime()
Formatea un struct_time (o tupla) en una cadena legible.
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("Resultado:", result)
Salida típica:
Resultado: Fri Dec 28 08:44:04 2018
time.strftime()
Formatea un struct_time en una cadena personalizada basada en códigos de formato.
import time
named_tuple = time.localtime()
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)
Salida típica:
12/28/2018, 09:47:41
Códigos de formato comunes incluyen:
%Y– año completo (ej. 2018)%m– mes 01–12%d– día 01–31%H– hora 00–23%M– minuto 00–59%S– segundo 00–61 (segundos intercalares)
Para más códigos de formato, consulta la documentación de time.strftime().
time.strptime()
Analiza una cadena según un formato especificado y devuelve un struct_time.
import time
time_string = "21 June, 2018"
result = time.strptime(time_string, "%d %B, %Y")
print(result)
Salida típica:
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=172, tm_isdst=-1)
python
- Palabras clave e identificadores en Python: Dominando palabras reservadas y convenciones de nomenclatura
- Dominando tipos de datos en Python: Guía práctica
- Dominando operadores en Python: Guía completa
- Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
- Módulos en Python: Creación, importación y uso avanzado
- Dominando Diccionarios en Python: Creación, Manipulación y Técnicas Avanzadas
- Expresiones Regulares en Python (Módulo re) – Guía Práctica
- Obtener la Fecha y Hora Actual en Python: Guía Práctica
- Python: Obtener Hora Actual y Datos de Zona Horaria Fácilmente
- Dominar time.sleep() en Python: Mejores Prácticas, Multihilo y Ejemplos Reales
- Python timeit(): medición de tiempo de ejecución con ejemplos prácticos