En aquest article, parlarem del mòdul de temps i de diverses funcions que ofereix aquest mòdul amb l'ajuda de bons exemples.
Com el seu nom indica, el mòdul de temps de Python permet treballar amb el temps Python . Permet funcionalitats com obtenir l'hora actual, aturar l'execució del programa, etc. Per tant, abans de començar amb aquest mòdul, hem d'importar-lo.
Importació del mòdul de temps
El mòdul de temps ve amb el mòdul d'utilitat estàndard de Python, de manera que no cal instal·lar-lo externament. Simplement el podem importar amb el declaració d'importació .
import time>
Què és l'època?
L'època és el punt on comença el temps i depèn de la plataforma. A Windows i la majoria de sistemes Unix, l'època és l'1 de gener de 1970, 00:00:00 (UTC) i els segons intercalats no es compten per al temps en segons des de l'època. Per comprovar quina és l'època en una plataforma determinada podem utilitzar time.gmtime(0) .
Exemple: Aconseguint època
El codi utilitza eltime>
mòdul per imprimir el resultattime.gmtime(0)>
, que representa l'hora de la zona horària GMT (hora del mig de Greenwich) a l'època Unix (1 de gener de 1970, 00:00:00 UTC).
Python 3
import> time> print> (time.gmtime(> 0> ))> |
>
>
Sortida:
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)
Nota: El temps abans de l'època encara es pot representar en segons però serà negatiu. Per exemple, el 31 de desembre de 1969 es representarà amb -86400 segons.
Obtenció de l'hora actual en segons des de l'època
temps.temps() Els mètodes retornen l'hora actual en segons des de l'època. Retorna un nombre de coma flotant.
Exemple: Hora actual en segons des de l'època
El codi utilitza eltime>
mòdul per recuperar l'hora actual en segons des de l'època Unix (1 de gener de 1970).
Python 3
import> time> curr> => time.time()> print> (> 'Current time in seconds since epoch ='> , curr)> |
>
>Sortida
Current time in seconds since epoch = 1627908387.764925>
Obtenció de la cadena de temps a partir de segons
time.ctime() La funció retorna una cadena de temps de 24 caràcters però pren segons com a argument i calcula el temps fins als segons esmentats. Si no es passa cap argument, el temps es calcula fins al present.
Exemple: Obtenció de la cadena de temps a partir de segons
El codi utilitza eltime>
mòdul per convertir una marca de temps especificada (1627908313.717886) en un format de data i hora llegible pels humans.
Python 3
import> time> curr> => time.ctime(> 1627908313.717886> )> print> (> 'Current time:'> , curr)> |
>
>Sortida
Current time: Mon Aug 2 12:45:13 2021>
Endarrerir l'execució de programes
L'execució es pot retardar utilitzant temps.dormir() mètode. Aquest mètode s'utilitza per aturar l'execució del programa durant el temps especificat als arguments.
Exemple: Retard el temps d'execució de programes en Python.
Aquest codi utilitza eltime>
mòdul per introduir un retard d'un segon utilitzant time.sleep(1)>
dins d'un bucle que itera quatre vegades.
Python 3
import> time> for> i> in> range> (> 4> ):> > time.sleep(> 1> )> > print> (i)> |
>
>Sortida
0 1 2 3>
time.struct_time Classe
Temps_estructura La classe ajuda a accedir a l'hora local, és a dir, segells de temps no d'època. Retorna una tupla amb nom al valor de la qual es pot accedir tant per l'índex com per el nom de l'atribut. El seu objecte conté els següents atributs:
Índex | Nom de l'atribut | Valors |
---|---|---|
0 | tm_any | 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; Diumenge són les 6 |
7 | tm_dia | 1, 2, …, 365, 366 |
8 | tm_isdst | 0, 1 o -1 |
Aquesta classe conté diverses funcions. Parlem de cada funció en detall.
Mètode time.localtime().
hora local() El mètode retorna l'objecte struct_time en hora local. Pren el nombre de segons passats des de l'època com a argument. Si no es dóna el paràmetre segons, s'utilitza l'hora actual retornada pel mètode time.time().
Exemple: Obtenció de l'hora local d'època
El codi utilitza eltime>
mòdul per convertir una marca de temps especificada (1627987508.6496193) en un time.struct_time>
objecte que representa la data i l'hora corresponents.
establir el delimitador java
Python 3
import> time> obj> => time.localtime(> 1627987508.6496193> )> print> (obj)> |
>
>
Sortida
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ètode time.mktime().
time.mktime() és la funció inversa de time.localtime() que converteix el temps expressat en segons des de l'època en un objecte time.struct_time en hora local.
Exemple: Convertint el struct_time objecte a segons des de l'època
Aquest codi fa servir primer eltime>
mòdul per convertir una marca de temps especificada (1627987508.6496193) en un time.struct_time>
objecte a la zona horària GMT (Greenwich Mean Time) utilitzant time.gmtime()>
. Després, fa servir time.mktime()>
per convertir això time.struct_time>
l'objecte torna a una marca de temps.
Python 3
import> time> obj1> => time.gmtime(> 1627987508.6496193> )> time_sec> => time.mktime(obj1)> print> (> 'Local time (in seconds):'> , time_sec)> |
>
>Sortida
Local time (in seconds): 1627987508.0>
mètode time.gmtime().
time.gmtime() s'utilitza per convertir un temps expressat en segons des de l'època en un objecte time.struct_time a UTC en el qual l'atribut tm_isdst sempre és 0. Si no es dóna el paràmetre segons, s'utilitza l'hora actual retornada pel mètode time.time().
Exemple: Ús de time.gmtime() mètode
El codi utilitza eltime>
mòdul per convertir una marca de temps especificada (1627987508.6496193) en un time.struct_time>
objecte que representa la data i l'hora corresponents a la zona horària GMT (Greenwich Mean Time).
Python 3
import> time> obj> => time.gmtime(> 1627987508.6496193> )> print> (obj)> |
>
>
Sortida
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ètode time.strftime().
time.strftime() La funció converteix una tupla o struct_time que representa un temps retornat per gmtime() o localtime() en una cadena tal com especifica l'argument format. Si no es proporciona t, s'utilitza l'hora actual retornada per localtime(). El format ha de ser una cadena. ValueError es genera si algun camp de t està fora de l'interval permès.
Exemple: Convertint struct_time objecte a una cadena utilitzant el mètode strftime().
El codi utilitza el gmtime>
funció des deltime>
mòdul per convertir una marca de temps especificada (1627987508.6496193) en una cadena formatada mitjançantstrftime>
. La sortida representa la data i l'hora de la zona horària GMT (hora del mig de Greenwich) en el format especificat per la cadena de format.
Python 3
circuit sumador complet
from> time> import> gmtime, strftime> s> => strftime(> '%a, %d %b %Y %H:%M:%S'> ,> > gmtime(> 1627987508.6496193> ))> print> (s)> |
>
>Sortida
Tue, 03 Aug 2021 10:45:08>
mètode time.asctime().
time.asctime() El mètode s'utilitza per convertir una tupla o un objecte time.struct_time que representa un temps retornat pel mètode time.gmtime() o time.localtime() en una cadena de la forma següent:
Day Mon Date Hour:Min:Sec Year>
Exemple: Convertint tupla en objecte time.struct_time en cadena
Aquest codi utilitza eltime>
mòdul per convertir una marca de temps especificada (1627987508.6496193) en un format de data i hora llegible pels humans mitjançant time.asctime()>
. Ho fa tant per a la zona horària GMT (hora mitjana de Greenwich) com per a la zona horària local.
Python 3
import> time> obj> => time.gmtime(> 1627987508.6496193> )> time_str> => time.asctime(obj)> print> (time_str)> obj> => time.localtime(> 1627987508.6496193> )> time_str> => time.asctime(obj)> print> (time_str)> |
>
>Sortida
Tue Aug 3 10:45:08 2021 Tue Aug 3 10:45:08 2021>
mètode time.strptime().
El mètode time.strptime() converteix la cadena que representa el temps a l'objecte struct_time.
Exemple: Convertint cadena a struct_time objecte.
Aquest codi utilitza eltime>
mòdul per analitzar una cadena formatada que representa una data i una hora i convertir-la en a time.struct_time>
objecte. Eltime.strptime()>
funció s'utilitza per a aquest propòsit.
Python 3
import> time> string> => 'Tue, 03 Aug 2021 10:45:08'> obj> => time.strptime(string,> '%a, %d %b %Y %H:%M:%S'> )> print> (obj)> |
>
>
Sortida
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)