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)
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)
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)
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)
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)
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)
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