logo

Python laika modulis

Šajā rakstā ar labu piemēru palīdzību apspriedīsim laika moduli un dažādas šī moduļa sniegtās funkcijas.

Kā norāda nosaukums, Python laika modulis ļauj strādāt ar laiku Python . Tas nodrošina tādas funkcionalitātes kā pašreizējā laika iegūšana, programmas izpildes apturēšana utt. Tāpēc, pirms sākam darbu ar šo moduli, mums tas ir jāimportē.



Laika moduļa importēšana

Laika modulim ir pievienots Python standarta utilīta modulis, tāpēc tas nav jāinstalē ārēji. Mēs varam to vienkārši importēt, izmantojot importa paziņojums .

import time>

Kas ir laikmets?

Laikmets ir punkts, kurā sākas laiks, un tas ir atkarīgs no platformas. Operētājsistēmās Windows un lielākajā daļā Unix sistēmu laikmets ir 1970. gada 1. janvāris, 00:00:00 (UTC), un lēciena sekundes netiek ieskaitītas sekundēs kopš laikmeta. Mēs varam izmantot, lai pārbaudītu, kāds ir laikmets noteiktā platformā laiks.gmtime(0) .

Piemērs: Iegūst laikmetu



Kods izmantotime>modulis, lai izdrukātu rezultātutime.gmtime(0)>, kas apzīmē laiku GMT (Grīnvičas laiks) laika joslā Unix laikmetā (1970. gada 1. janvāris, 00:00:00 UTC).

Python3






import> time> print>(time.gmtime(>0>))>

>

>

Izvade:

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)

Piezīme: Laiku pirms laikmeta joprojām var attēlot sekundēs, bet tas būs negatīvs. Piemēram, 1969. gada 31. decembris tiks attēlots kā -86400 sekundes.

Pašreizējā laika iegūšana sekundēs kopš laikmeta

laiks.laiks() metodes atgriež pašreizējo laiku sekundēs kopš laikmeta. Tas atgriež peldošā komata skaitli.

Piemērs: Pašreizējais laiks sekundēs kopš laikmeta

Kods izmantotime>modulis, lai izgūtu pašreizējo laiku sekundēs kopš Unix laikmeta (1970. gada 1. janvāra).

Python3




import> time> curr>=> time.time()> print>(>'Current time in seconds since epoch ='>, curr)>

>

>

Izvade

Current time in seconds since epoch = 1627908387.764925>

Laika virknes iegūšana no sekundēm

laiks.ctime() funkcija atgriež 24 rakstzīmju laika virkni, bet izmanto sekundes kā argumentu un aprēķina laiku līdz minētajām sekundēm. Ja neviens arguments netiek pieņemts, laiks tiek aprēķināts līdz šim brīdim.

Piemērs: Laika virknes iegūšana no sekundēm

Kods izmantotime>modulis, lai pārveidotu norādīto laika zīmogu (1627908313.717886) cilvēkam lasāmā datuma un laika formātā.

Python3




import> time> curr>=> time.ctime(>1627908313.717886>)> print>(>'Current time:'>, curr)>

>

>

Izvade

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

Programmu izpildes aizkavēšanās

Izmantojot, izpildi var aizkavēt laiks.miegs() metodi. Šo metodi izmanto, lai apturētu programmas izpildi uz argumentos norādīto laiku.

Piemērs: Programmu izpildes laika aizkavēšana Python.

Šis kods izmantotime>moduli, lai ieviestu vienas sekundes aizkavi, izmantojot time.sleep(1)> cilpas iekšpusē, kas atkārtojas četras reizes.

Python3




import> time> for> i>in> range>(>4>):> >time.sleep(>1>)> >print>(i)>

>

>

Izvade

0 1 2 3>

time.struct_time Klase

Struktūras_laiks klase palīdz piekļūt vietējam laikam, t.i., laika zīmogiem, kas nav epohāli. Tas atgriež nosauktu kortedža, kuras vērtībai var piekļūt gan indeksa, gan atribūta nosaukuma dēļ. Tā objekts satur šādus atribūtus -

Rādītājs Atribūta nosaukums Vērtības
0 tm_year 0000, …, 9999
1 tm_mon 1, 2, …, 11, 12
2 tm_mday 1, 2, …, 30, 31
3 tm_stunda 0, 1, …, 22, 23
4 tm_min 0, 1, …, 58, 59
5 tm_sec 0, 1, …, 60, 61
6 tm_wday 0, 1, …, 6; Svētdien ir 6
7 tm_yday 1, 2, …, 365, 366
8 tm_isdst 0, 1 vai -1

Šajā klasē ir dažādas funkcijas. Apspriedīsim katru funkciju sīkāk.

laiks.localtime() metode

vietējais laiks() metode atgriež objektu struct_time vietējā laikā. Kā arguments tiek ņemts sekunžu skaits, kas pagājis kopš laikmeta. Ja sekundes parametrs nav norādīts, tiek izmantots pašreizējais laiks, ko atgriež metode time.time().

Piemērs: Vietējā laika iegūšana no laikmeta

Kods izmantotime>modulis, lai pārveidotu noteiktu laika zīmogu (1627987508.6496193) par time.struct_time> objekts, kas attēlo atbilstošo datumu un laiku.

cik liels ir šis monitors

Python3




import> time> obj>=> time.localtime(>1627987508.6496193>)> print>(obj)>

>

>

Izvade

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)

laiks.mktime() metode

laiks.mktime() ir laika.localtime() apgrieztā funkcija, kas pārvērš laiku, kas izteikts sekundēs kopš laikmeta, par objektu time.struct_time vietējā laikā.

Piemērs: Pārvēršot struct_time iebilst pret sekundēm kopš laikmeta

Šis kods vispirms izmantotime>modulis, lai pārveidotu noteiktu laika zīmogu (1627987508.6496193) par time.struct_time> objektu GMT (Grīnvičas laiks) laika joslā, izmantojot time.gmtime()> . Pēc tam tas izmanto time.mktime()> lai to pārvērstu time.struct_time> objektu atpakaļ laikspiedolā.

Python3




import> time> obj1>=> time.gmtime(>1627987508.6496193>)> time_sec>=> time.mktime(obj1)> print>(>'Local time (in seconds):'>, time_sec)>

>

>

Izvade

Local time (in seconds): 1627987508.0>

time.gmtime() metode

laiks.gmtime() tiek izmantots, lai pārvērstu laiku, kas izteikts sekundēs kopš laikmeta, par objektu time.struct_time UTC, kurā tm_isdst atribūts vienmēr ir 0. Ja sekunžu parametrs nav norādīts, tiek izmantots pašreizējais laiks, ko atgriež metode time.time().

Piemērs: Izmantošana laiks.gmtime() metodi

Kods izmantotime>modulis, lai pārveidotu noteiktu laika zīmogu (1627987508.6496193) par time.struct_time> objekts, kas attēlo atbilstošo datumu un laiku GMT (Griničas laiks) laika joslā.

Python3




import> time> obj>=> time.gmtime(>1627987508.6496193>)> print>(obj)>

>

>

Izvade

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)

time.strftime() metode

time.strftime() funkcija pārveido korešu vai struct_time, kas attēlo laiku, ko atgriež gmtime() vai localtime(), par virkni, kā norādīts formāta argumentā. Ja t nav norādīts, tiek izmantots pašreizējais laiks, ko atgriež vietējais laiks (). Formātam ir jābūt virknei. ValueError tiek parādīts, ja kāds lauks t ir ārpus atļautā diapazona.

Piemērs: Konvertēšana struct_time objektu virknei, izmantojot metodi strftime().

Kods izmanto gmtime> funkcija notime>moduli, lai pārveidotu norādīto laikspiedolu (1627987508.6496193) formatētā virknē, izmantojotstrftime>. Izvade atspoguļo datumu un laiku GMT (Griničas laika) laika joslā formātā, kas norādīts formāta virknē.

Python3




pilna summatora ķēde
from> time>import> gmtime, strftime> s>=> strftime(>'%a, %d %b %Y %H:%M:%S'>,> >gmtime(>1627987508.6496193>))> print>(s)>

>

>

Izvade

Tue, 03 Aug 2021 10:45:08>

laiks.asctime() metode

time.asctime() Metode tiek izmantota, lai pārveidotu kortei vai time.struct_time objektu, kas attēlo laiku, ko atgriež metode time.gmtime() vai time.localtime() par šādas formas virkni:

Day Mon Date Hour:Min:Sec Year>

Piemērs: Korejas pārveidošana par time.struct_time objektu par virkni

Šis kods izmantotime>modulis, lai pārveidotu noteiktu laika zīmogu (1627987508.6496193) cilvēkam lasāmā datuma un laika formātā, izmantojot time.asctime()> . Tas tiek darīts gan GMT (Grīnvičas laiks) laika joslā, gan vietējā laika joslā.

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

>

>

Izvade

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

time.strptime() metode

Metode time.strptime() pārvērš laiku, kas attēlo laiku, par objektu struct_time.

Piemērs: Virkne tiek pārveidota par struct_time objektu.

Šis kods izmantotime>moduli, lai parsētu formatētu virkni, kas apzīmē datumu un laiku, un pārvērstu to par a time.struct_time> objektu. Thetime.strptime()>šim nolūkam tiek izmantota funkcija.

Python3




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

>

>

Izvade

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)