Módulo de tiempo de Python

En este artículo, discutiremos el módulo de tiempo y varias funciones proporcionadas por este módulo con la ayuda de buenos ejemplos. 

Como sugiere el nombre, el módulo de tiempo de Python permite trabajar con el tiempo en Python. Permite funciones como obtener la hora actual, pausar la ejecución del programa, etc. Por lo tanto, antes de comenzar con este módulo, debemos importarlo. 

Módulo de tiempo de importación

El módulo de tiempo viene con el módulo de utilidad estándar de Python, por lo que no es necesario instalarlo externamente. Simplemente podemos importarlo usando la declaración de importación .

import time

¿Qué es época?

La época es el punto donde comienza el tiempo y depende de la plataforma. En Windows y la mayoría de los sistemas Unix, la época es el 1 de enero de 1970, 00:00:00 (UTC), y los segundos bisiestos no cuentan para el tiempo en segundos desde la época. Para verificar cuál es la época en una plataforma determinada, podemos usar time.gmtime(0) .

Ejemplo: Obtener época

Python3

import time
 
print(time.gmtime(0))

Producción:

time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

En el ejemplo anterior, puede ver que la época es el 1 de enero de 1970. Esto significa que el 2 de enero de 1970 se puede expresar como 86400 segundos desde la época, ya que hay 86400 segundos en un día.

Nota: El tiempo anterior a la época todavía se puede representar en segundos, pero será negativo. Por ejemplo, el 31 de diciembre de 1969 se representará como -86400 segundos.

Obtener la hora actual en segundos desde la época

Los métodos time.time() devuelven la hora actual en segundos desde la época. Devuelve un número de punto flotante.

Ejemplo: tiempo actual en segundos desde la época

Python3

import time
 
 
curr = time.time()
print("Current time in seconds since epoch =", curr)
Producción

Current time in seconds since epoch = 1627908387.764925

Obtener string de tiempo de segundos

La función time.ctime() devuelve una string de tiempo de 24 caracteres, pero toma segundos como argumento y calcula el tiempo hasta los segundos mencionados. Si no se pasa ningún argumento, el tiempo se calcula hasta el presente.

Ejemplo: obtener una string de tiempo a partir de segundos

Python3

import time
 
# getting current time by passing
# the number of seconds since epoch
curr = time.ctime(1627908313.717886)
print("Current time:", curr)
Producción

Current time: Mon Aug  2 12:45:13 2021

Retrasar la ejecución de los programas

La ejecución se puede retrasar utilizando el método time.sleep() . Este método se utiliza para detener la ejecución del programa durante el tiempo especificado en los argumentos.

Ejemplo: Retrasar el tiempo de ejecución de los programas en Python.

Python3

import time
 
for i in range(4):
     
    # using sleep() to hault execution
    time.sleep(1)
    print(i)
Producción

0
1
2
3

time.struct_time Clase

La clase Struct_time ayuda a acceder a la hora local, es decir, marcas de tiempo sin época. Devuelve una tupla con nombre a cuyo valor se puede acceder tanto por índice como por nombre de atributo. Su objeto contiene los siguientes atributos: 

Índice  Nombre del Atributo  Valores
0 tm_año 0000, …, 9999
1 tm_mon 1, 2, …, 11, 12
2 tm_mday 1, 2, …, 30, 31
3 tm_hora 0, 1, …, 22, 23
4 tm_min 0, 1, …, 58, 59
5 tm_sec 0, 1, …, 60, 61
6 tm_wday 0, 1, …, 6; el domingo es 6
7 tm_yday 1, 2, …, 365, 366
8 tm_isdst 0, 1 o -1

Esta clase contiene varias funciones. Analicemos cada función en detalle.

método time.localtime()

El método localtime() devuelve el objeto struct_time en hora local. Toma el número de segundos transcurridos desde la época como argumento. Si no se proporciona el parámetro de segundos, se utiliza la hora actual devuelta por el método time.time().

Ejemplo: obtener la hora local de la época

Python3

# importing time module
import time
 
# Convert the current time in seconds
# since the epoch to a
# time.struct_time object in Local time
obj = time.localtime(1627987508.6496193)
 
print(obj)

Producción

time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=16, tm_min=15, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=0)

método time.mktime()

time.mktime() es la función inversa de time.localtime() que convierte el tiempo expresado en segundos desde la época en un objeto time.struct_time en hora local.

Ejemplo: convertir el objeto struct_time en segundos desde la época

Python3

# importing time module
import time
 
obj1 = time.gmtime(1627987508.6496193)
 
# Convert the time.struct_time
# object to local time expressed in
# seconds since the epoch
# using time.mktime() method
time_sec = time.mktime(obj1)
 
# Print the local time in seconds
print("Local time (in seconds):", time_sec)
Producción

Local time (in seconds): 1627987508.0

método time.gmtime()

time.gmtime() se usa para convertir un tiempo expresado en segundos desde la época en un objeto time.struct_time en UTC en el que el atributo tm_isdst siempre es 0. Si no se proporciona el parámetro de segundos, el tiempo actual devuelto por time.time( ) se utiliza el método.

Ejemplo: Uso del método time.gmtime()

Python3

# importing time module
import time
 
# Convert the current time in seconds
# since the epoch to a
# time.struct_time object in UTC
obj = time.gmtime(1627987508.6496193)
 
# Print the time.struct.time object
print(obj)

Producción

time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=10, tm_min=45, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=0)

método time.strftime()

La función time.strftime() convierte una tupla o struct_time que representa una hora devuelta por gmtime() o localtime() en una string según lo especificado por el argumento de formato. Si no se proporciona t, se utiliza la hora actual devuelta por localtime(). El formato debe ser una string. ValueError se genera si algún campo en t está fuera del rango permitido.

Ejemplo: convertir el objeto struct_time en una string usando el método strftime()

Python3

from time import gmtime, strftime
 
# using simple format of showing time
s = strftime("%a, %d %b %Y %H:%M:%S",
             gmtime(1627987508.6496193))
print(s)
Producción

Tue, 03 Aug 2021 10:45:08

método time.asctime()

El método time.asctime() se usa para convertir una tupla o un objeto time.struct_time que representa una hora devuelta por el método time.gmtime() o time.localtime() en una string de la siguiente forma:

Day Mon Date Hour:Min:Sec Year

Ejemplo: Conversión de tupla a time.struct_time objeto a string

Python3

# importing time module
import time
 
 
obj = time.gmtime(1627987508.6496193)
 
# Convert the time.struct_time
# object to a string of the
# form 'Day Mon Date Hour:Min:Sec Year'
# using time.asctime() method
time_str = time.asctime(obj)
print(time_str)
 
 
obj = time.localtime(1627987508.6496193)
 
# Convert the time.struct_time
# object to a string of the
# form 'Day Mon Date Hour:Min:Sec Year'
# using time.asctime() method
time_str = time.asctime(obj)
print(time_str)
Producción

Tue Aug  3 10:45:08 2021
Tue Aug  3 10:45:08 2021

método time.strptime()

El método time.strptime() convierte la string que representa el tiempo en el objeto struct_time.

Ejemplo: convertir una string en un objeto struct_time.

Python3

import time
 
string = "Tue, 03 Aug 2021 10:45:08"
obj = time.strptime(string, "%a, %d %b %Y %H:%M:%S")
 
print(obj)

Producción

time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=10, tm_min=45, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=-1)

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *