time de Python es un módulo que se puede utilizar para obtener fechas en el lenguaje de pro­gra­ma­ción. El módulo ofrece numerosas funciones y utiliza la es­pe­ci­fi­ca­ción de tiempo de Unix y los objetos struct_time.

¿En qué consiste el módulo Python time y cómo se utiliza?

El módulo time de Python es de crucial im­po­r­ta­n­cia para la im­ple­me­n­ta­ción y co­n­si­de­ra­ción de es­pe­ci­fi­ca­cio­nes de tiempo en el lenguaje de pro­gra­ma­ción. Entre las tareas que puede realizar este módulo se en­cue­n­tran la pre­se­n­ta­ción de la hora actual, el formateo de es­pe­ci­fi­ca­cio­nes de tiempo y la es­pe­ci­fi­ca­ción de una duración concreta al ejecutar una función. Para poder utilizar el módulo, primero se debe importar time de la siguiente forma:

import time
python

Puedes llevar a cabo diversas funciones con este módulo. Te mostramos las más im­po­r­ta­n­tes en los si­guie­n­tes apartados. Si buscas una al­te­r­na­ti­va a time, una buena opción es datetime de Python.

time.time() y el si­g­ni­fi­ca­do de la marca de tiempo Unix

La base de la función time.time() es la marca de tiempo de Unix. Esto describe un punto exacto en el pasado a partir del cual se mide el tiempo en un sistema. Para Windows y muchos sistemas Unix, este punto en el tiempo es el 1 de enero de 1970, a las 00:00:00 (Tiempo Universal Coor­di­na­do). Python también utiliza este momento como base. Al­te­r­na­ti­va­me­n­te, el cálculo a partir de este segundo se denomina “tiempo desde la época”. La función time.time() te da el número de segundos que han pasado desde este momento a pri­n­ci­pios de los años 70. Para ello, utiliza el siguiente código:

import time 
tiempo_transcurrido = time.time() 
print("Segundos transcurridos desde la época: ", tiempo_transcurrido)
python

Ob­te­n­dre­mos este resultado:

1716816325
python

time.ctime(): presentar los datos de forma legible

Sin embargo, como esta in­fo­r­ma­ción es no­r­ma­l­me­n­te de poca utilidad, time te ofrece la opción de utilizar la marca de tiempo de Unix como base para una fecha. De este modo, te be­ne­fi­cias de la precisión de esta medida de tiempo, pero obtienes la marca en un formato co­m­pre­n­si­ble. La función adecuada es time.ctime(). Esta convierte di­re­c­ta­me­n­te la marca de tiempo Unix en una fecha. El código co­rre­s­po­n­die­n­te sería el siguiente:

import time 
tiempo_transcurrido = 1716816325 
tiempo_actual = time.ctime(tiempo_transcurrido) 
print("Este es el tiempo actual: ", tiempo_actual)
python

Nuestro resultado será el siguiente. Se tiene en cuenta la hora local:

Esta es la fecha actual: Mon May 27 2024 15:25:25
python
Consejo

La solución ideal para trabajar en tu proyecto web: con Deploy Now de IONOS, puedes desplegar cambios en el código di­re­c­ta­me­n­te con GitHub y be­ne­fi­ciar­te de la pe­r­so­na­li­za­ción en tiempo real. Busca la tarifa que se adecúe a tus ne­ce­si­da­des.

time.sleep(): programar la ejecución de un programa

Sin embargo, time de Python puede hacer mucho más que mostrar la hora actual. El módulo también se utiliza para controlar o retrasar la ejecución de un programa. La función co­rre­s­po­n­die­n­te es time.sleep() y se ejecuta así:

import time 
print("Esto se visualizará inmediatamente… ") 
time.sleep(5) 
print("…y esto en 5 segundos.")
python

Nuestro resultado sería el siguiente:

Esto se visualizará inmediatamente… 
…y esto en 5 segundos.
python

Sin embargo, la segunda parte solo se emite tras un retardo de cinco segundos. Puedes averiguar para qué puedes utilizar time.sleep() de Python en nuestro artículo de la Digital Guide.

Objetos struct_time para time

El objeto struct_time es la base de muchas funciones time de Python. No­r­ma­l­me­n­te se utiliza como parámetro o valor de retorno y produce una tupla cuyo valor puede es­pe­ci­fi­car­se mediante el índice o el atributo. Para ello se pueden utilizar los si­guie­n­tes atributos:

Índice Atributo De­s­cri­p­ción Valores posibles
0 tm_year Año 0000, …, 2024, …, 9999
1 tm_mon Mes 1, 2, 3, …, 12
2 tm_mday Día del mes 1, 2, 3, 31
3 tm_hour Hora del día 0, 1, 2, …, 23
4 tm_min Minutos 0, 1, 2, …, 59
5 tm_sec Segundos 0, 1, 2, …, 60, 61
6 tm_wday Día de la semana 0 (para lunes), …, 6 (para domingo)
7 tm_yday Día del año 1, 2, 3, …, 366
8 tm_isdst Horario de verano o invierno 0 (invierno), 1 (verano) o -1 (no es­pe­ci­fi­ca­do)

time.localtime(): conexión de struct_time y el tiempo desde Epoch

La función time.localtime() utiliza un objeto struct_time basado en la marca de tiempo Unix. Este sería el código:

import time 
tiempo_actual = time.time() 
hora_actual = time.localtime(tiempo_actual) 
print(hora_actual)
python

Así obtenemos el siguiente resultado:

time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=15, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=1)
python

Al­te­r­na­ti­va­me­n­te, también es posible se­le­c­cio­nar cualquier valor para el parámetro localtime(). El código será similar a este:

import time 
tiempo = time.time() 
hora_actual = time.localtime(1716816325) 
print(hora_actual)
python

El resultado sería el siguiente:

time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=15, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=1)
python

time.mktime(): el equi­va­le­n­te inverso a localtime()

time.mktime() en time es la función inversa a localtime(). Utiliza un objeto struct_time como parámetro y el sistema devuelve la co­rre­s­po­n­die­n­te marca de tiempo desde la época. Así se vería el código:

import time 
marca_tiempo = time.mktime(hora_local) 
print(marca_tiempo)
python

El resultado es un valor de segundos en este formato:

1716816325
python

time.gmtime(): Tiempo Universal Coor­di­na­do para la vi­sua­li­za­ción

time.gmtime() es en gran parte equi­va­le­n­te a time.localtime(). Sin embargo, el objeto struct_time co­rre­s­po­n­die­n­te se devuelve en Tiempo Universal Coor­di­na­do. Este es el código:

import time 
marca_tiempo = time.time() 
tiempo_universal = time.gmtime(marca_tiempo) 
print(tiempo_universal)
python

Por lo tanto, el resultado de esta función time difiere en algunos detalles del ejemplo anterior:

time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=13, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=0)
python

time.asctime(): convertir objetos struct_time en cadenas

Puedes usar time.asctime() para convertir un objeto struct_time en una cadena Python. Podría verse así, por ejemplo:

import time 
momento_actual = time.localtime() 
formto_legible = time.asctime(momento_actual) 
print(formato_legible)
python

De este modo, obtendrás un mayor resultado inmediato:

Mon May 27 15:25:25 2024
python

time.strftime(): crea una cadena con time

Aquí uti­li­za­mos di­fe­re­n­tes códigos de formato para mostrar la hora actual en el formato deseado. Para darte una idea de los di­fe­re­n­tes códigos de formato, enu­me­ra­mos aquí algunos de los más im­po­r­ta­n­tes:

  • %Y: re­pre­se­n­ta el año en el formato 0001, …, 2024, …, 9999
  • %m: re­pre­se­n­ta el mes y utiliza los números del 01 (enero) al 12 (diciembre)
  • %d: re­pre­se­n­ta el día del 01 del mes al 31
  • %H: re­pre­se­n­ta la hora en el rango de 00 a 23
  • %M: re­pre­se­n­ta el minuto y va de 00 a 59
  • %S: re­pre­se­n­ta el segundo del 00 al 61

El código podría ser el siguiente:

import time 
momento_actual = time.localtime() 
formato_legible = time.strftime("%d-%m-%Y, %H:%M:%S", momento_actual) 
print(formato_legible)
python

En este caso, el resultado sería:

27-05-2024, 15:25:25
python

time.strptime(): convertir cadenas en objetos struct_time

time también tiene una co­n­tra­pa­r­ti­da para esto: time.strptime() utiliza una cadena para dar salida a un objeto struct_time. Este es el código apropiado:

import time 
momento_actual = time.strptime(formato_legible, "%d-%m-%Y, %H: %M:%S") 
print(momento_actual)
python

Obtenemos este resultado:

time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=15, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=1)
python
Consejo

En nuestra Digital Guide en­co­n­tra­rás muchos más artículos sobre este popular lenguaje de pro­gra­ma­ción. Entre otras cosas, tenemos un tutorial de Python, una guía para instalar Python y un artículo sobre di­fe­re­n­tes ope­ra­do­res Python.

Ir al menú principal