În acest articol, vom discuta despre modulul de timp și diferitele funcții oferite de acest modul cu ajutorul unor exemple bune.
După cum sugerează și numele, modulul de timp Python permite lucrul cu timpul în Piton . Permite funcționalități precum obținerea orei curente, întreruperea executării programului etc. Deci, înainte de a începe cu acest modul, trebuie să-l importăm.
Importul modulului de timp
Modulul de timp vine cu modulul utilitar standard al lui Python, deci nu este nevoie să îl instalați extern. Îl putem importa pur și simplu folosind declarație de import .
import time>
Ce este epoca?
Epoca este punctul în care începe timpul și depinde de platformă. Pe Windows și pe majoritatea sistemelor Unix, epoca este 1 ianuarie 1970, 00:00:00 (UTC), iar secundele săriți nu sunt luate în considerare pentru timpul în secunde de la epocă. Pentru a verifica care este epoca pe o platformă dată, putem folosi time.gmtime(0) .
Exemplu: Primind epoca
Codul foloseștetime>modul pentru a imprima rezultatultime.gmtime(0)>, care reprezintă ora din fusul orar GMT (Greenwich Mean Time) din epoca Unix (1 ianuarie 1970, 00:00:00 UTC).
Python3
import> time> print>(time.gmtime(>0>))> |
>
>
Ieșire:
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)
Notă: Timpul de dinaintea epocii poate fi încă reprezentat în secunde, dar va fi negativ. De exemplu, 31 decembrie 1969 va fi reprezentată ca -86400 secunde.
Obținerea orei curente în secunde de la epocă
timp.timp() metodele returnează timpul curent în secunde de la epoca. Returnează un număr în virgulă mobilă.
Exemplu: Ora curentă în secunde de la epocă
Codul foloseștetime>modul pentru a prelua ora curentă în secunde de la epoca Unix (1 ianuarie 1970).
Python3
import> time> curr>=> time.time()> print>(>'Current time in seconds since epoch ='>, curr)> |
>
>Ieșire
Current time in seconds since epoch = 1627908387.764925>
Obținerea unui șir de timp din secunde
time.ctime() funcția returnează un șir de timp de 24 de caractere, dar ia secunde ca argument și calculează timpul până la secundele menționate. Dacă nu se trece niciun argument, timpul este calculat până în prezent.
Exemplu: Obținerea unui șir de timp din secunde
Codul foloseștetime>modul pentru a converti o marca temporală specificată (1627908313.717886) într-un format de dată și oră care poate fi citit de om.
Python3
import> time> curr>=> time.ctime(>1627908313.717886>)> print>(>'Current time:'>, curr)> |
>
>Ieșire
Current time: Mon Aug 2 12:45:13 2021>
Întârzierea execuției programelor
Execuția poate fi amânată folosind timp.somn() metodă. Această metodă este folosită pentru a opri execuția programului pentru timpul specificat în argumente.
Exemplu: Întârzierea timpului de execuție a programelor în Python.
Acest cod foloseștetime>modul pentru a introduce o întârziere de o secundă folosind time.sleep(1)> în interiorul unei bucle care se repetă de patru ori.
Python3
import> time> for> i>in> range>(>4>):> >time.sleep(>1>)> >print>(i)> |
>
>Ieșire
0 1 2 3>
time.struct_time Clasa
Struct_time clasa ajută la accesarea orei locale, adică a marcajelor de timp non-epocale. Returnează un tuplu numit a cărui valoare poate fi accesată atât prin index, cât și prin numele atributului. Obiectul său conține următoarele atribute -
| Index | Numele atributului | Valori |
|---|---|---|
| 0 | tm_an | 0000, …, 9999 |
| 1 | tm_mon | 1, 2, …, 11, 12 |
| 2 | tm_mday | 1, 2, …, 30, 31 |
| 3 | tm_hour | 0, 1, …, 22, 23 |
| 4 | tm_min | 0, 1, …, 58, 59 |
| 5 | tm_sec | 0, 1, …, 60, 61 |
| 6 | tm_wday | 0, 1, …, 6; Duminica este 6 |
| 7 | tm_yday | 1, 2, …, 365, 366 |
| 8 | tm_isdst | 0, 1 sau -1 |
Această clasă conține diverse funcții. Să discutăm fiecare funcție în detaliu.
metoda time.localtime().
ora locala() metoda returnează obiectul struct_time în ora locală. Este nevoie de numărul de secunde trecute de la epoca ca argument. Dacă parametrul secunde nu este dat, se folosește ora curentă returnată de metoda time.time().
Exemplu: Obținerea orei locale din epocă
Codul foloseștetime>modul pentru a converti o marca temporală specificată (1627987508.6496193) într-un time.struct_time> obiect reprezentând data și ora corespunzătoare.
meniul de setări Android
Python3
import> time> obj>=> time.localtime(>1627987508.6496193>)> print>(obj)> |
>
>
Ieșire
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)
metoda time.mktime().
time.mktime() este funcția inversă a time.localtime() care convertește timpul exprimat în secunde de la epocă într-un obiect time.struct_time în ora locală.
Exemplu: Conversia struct_time obiect la secunde de la epocă
Acest cod folosește mai întâi codultime>modul pentru a converti o marca temporală specificată (1627987508.6496193) într-un time.struct_time> obiect în fusul orar GMT (Greenwich Mean Time) folosind time.gmtime()> . Apoi, folosește time.mktime()> pentru a converti aceasta time.struct_time> obiect înapoi într-un marcaj de timp.
Python3
import> time> obj1>=> time.gmtime(>1627987508.6496193>)> time_sec>=> time.mktime(obj1)> print>(>'Local time (in seconds):'>, time_sec)> |
>
>Ieșire
Local time (in seconds): 1627987508.0>
metoda time.gmtime().
time.gmtime() este folosit pentru a converti un timp exprimat în secunde de la epocă într-un obiect time.struct_time în UTC în care atributul tm_isdst este întotdeauna 0. Dacă parametrul secunde nu este dat, se folosește ora curentă returnată de metoda time.time().
Exemplu: Utilizarea de time.gmtime() metodă
Codul foloseștetime>modul pentru a converti o marca temporală specificată (1627987508.6496193) într-un time.struct_time> obiect reprezentând data și ora corespunzătoare în fusul orar GMT (Greenwich Mean Time).
Python3
import> time> obj>=> time.gmtime(>1627987508.6496193>)> print>(obj)> |
>
>
Ieșire
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)
metoda time.strftime().
time.strftime() funcția convertește un tuplu sau struct_time reprezentând un timp returnat de gmtime() sau localtime() într-un șir așa cum este specificat de argumentul format. Dacă t nu este furnizat, se folosește ora curentă returnată de localtime(). Formatul trebuie să fie un șir. ValueError este ridicată dacă orice câmp din t este în afara intervalului permis.
Exemplu: Conversia struct_time obiect la un șir folosind metoda strftime().
Codul folosește gmtime> funcția de latime>modul pentru a converti o marca temporală specificată (1627987508.6496193) într-un șir formatat folosindstrftime>. Ieșirea reprezintă data și ora din fusul orar GMT (Greenwich Mean Time) în formatul specificat de șirul de format.
Python3
js înlocuitor
from> time>import> gmtime, strftime> s>=> strftime(>'%a, %d %b %Y %H:%M:%S'>,> >gmtime(>1627987508.6496193>))> print>(s)> |
>
>Ieșire
Tue, 03 Aug 2021 10:45:08>
metoda time.asctime().
time.asctime() metoda este utilizată pentru a converti un tuplu sau un obiect time.struct_time reprezentând un timp returnat de metoda time.gmtime() sau time.localtime() într-un șir de următoarea formă:
Day Mon Date Hour:Min:Sec Year>
Exemplu: Conversia tuplei în obiectul time.struct_time în șir
Acest cod foloseștetime>modul pentru a converti o marca temporală specificată (1627987508.6496193) într-un format de dată și oră care poate fi citit de om folosind time.asctime()> . Face acest lucru atât pentru fusul orar GMT (ora medie de Greenwich), cât și pentru fusul orar local.
Python3
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)> |
>
>Ieșire
Tue Aug 3 10:45:08 2021 Tue Aug 3 10:45:08 2021>
metoda time.strptime().
metoda time.strptime() convertește șirul care reprezintă timpul în obiectul struct_time.
Exemplu: Convertirea șirului în struct_time obiect.
Acest cod foloseștetime>modul pentru a analiza un șir formatat reprezentând o dată și o oră și să îl convertească într-un time.struct_time> obiect. Thetime.strptime()>funcția este utilizată în acest scop.
Python3
import> time> string>=> 'Tue, 03 Aug 2021 10:45:08'> obj>=> time.strptime(string,>'%a, %d %b %Y %H:%M:%S'>)> print>(obj)> |
>
>
Ieșire
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)