logo

Časovni modul Python

V tem članku bomo s pomočjo dobrih primerov obravnavali časovni modul in različne funkcije, ki jih ta modul ponuja.

Kot že ime pove, časovni modul Python omogoča delo s časom Python . Omogoča funkcionalnost, kot je pridobivanje trenutnega časa, zaustavitev izvajanja programa itd. Torej, preden začnemo s tem modulom, ga moramo uvoziti.

Uvoz časovnega modula

Časovni modul je opremljen s standardnim pomožnim modulom Python, zato ga ni treba namestiti zunaj. Lahko ga preprosto uvozimo z uporabo uvozna izjava .



import time>

Kaj je epoha?

Epoha je točka, kjer se čas začne in je odvisna od platforme. V sistemu Windows in večini sistemov Unix je epoha 1. januar 1970, 00:00:00 (UTC), prestopne sekunde pa se ne štejejo v čas v sekundah od epohe. Za preverjanje, kakšna je epoha na določeni platformi, lahko uporabimo čas.gmtime(0) .

primer: Pridobivanje epohe

Koda uporabljatime>modul za tiskanje rezultatovtime.gmtime(0)>, ki predstavlja čas v časovnem pasu GMT (srednji čas po Greenwichu) v obdobju Unix (1. januar 1970, 00:00:00 UTC).

Python3




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

>

>

Izhod:

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)

Opomba: Čas pred epoho je še vedno mogoče predstaviti v sekundah, vendar bo negativen. Na primer, 31. december 1969 bo predstavljen kot -86400 sekund.

Pridobivanje trenutnega časa v sekundah od epohe

čas.čas() metode vrnejo trenutni čas v sekundah od epohe. Vrne število s plavajočo vejico.

primer: Trenutni čas v sekundah od epohe

Koda uporabljatime>modul za pridobitev trenutnega časa v sekundah od obdobja Unix (1. januar 1970).

Python3




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

>

>

Izhod

Current time in seconds since epoch = 1627908387.764925>

Pridobivanje časovnega niza iz sekund

time.ctime() funkcija vrne 24-mestni časovni niz, vendar vzame sekunde kot argument in izračuna čas do omenjenih sekund. Če ni posredovan noben argument, se čas izračuna do sedanjosti.

primer: Pridobivanje časovnega niza iz sekund

Koda uporabljatime>modul za pretvorbo določenega časovnega žiga (1627908313.717886) v človeku berljivo obliko datuma in časa.

Python3




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

>

>

Izhod

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

Zakasnitev izvajanja programov

Izvedbo je mogoče odložiti z uporabo time.sleep() metoda. Ta metoda se uporablja za zaustavitev izvajanja programa za čas, naveden v argumentih.

primer: Zakasnitev časa izvajanja programov v Pythonu.

Ta koda uporabljatime>modul za uvedbo enosekundne zakasnitve z uporabo time.sleep(1)> znotraj zanke, ki se ponovi štirikrat.

Python3




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

>

>

Izhod

0 1 2 3>

time.struct_time Razred

Struct_time razred pomaga pri dostopu do lokalnega časa, tj. neepohalnih časovnih žigov. Vrne imenovano torko, katere vrednost je dostopna z indeksom in imenom atributa. Njegov predmet vsebuje naslednje atribute –

Kazalo Ime atributa Vrednote
0 tm_leto 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; nedelja je 6
7 tm_yday 1, 2, …, 365, 366
8 tm_isdst 0, 1 ali -1

Ta razred vsebuje različne funkcije. O vsaki funkciji se pogovorimo podrobneje.

metoda time.localtime().

lokalni čas() metoda vrne objekt struct_time v lokalnem času. Kot argument vzame število sekund, ki so pretekle od epohe. Če parameter sekund ni podan, se uporabi trenutni čas, ki ga vrne metoda time.time().

primer: Pridobivanje lokalnega časa iz epohe

Koda uporabljatime>modul za pretvorbo določenega časovnega žiga (1627987508.6496193) v time.struct_time> predmet, ki predstavlja ustrezen datum in čas.

sestava odnosa

Python3




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

>

>

Izhod

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() je inverzna funkcija time.localtime(), ki pretvori čas, izražen v sekundah od epohe, v objekt time.struct_time v lokalnem času.

primer: Pretvarjanje struct_time ugovarjati sekundam od epohe

Ta koda najprej uporabljatime>modul za pretvorbo določenega časovnega žiga (1627987508.6496193) v time.struct_time> predmet v časovnem pasu GMT (srednji čas po Greenwichu) z uporabo time.gmtime()> . Nato uporablja time.mktime()> za pretvorbo tega time.struct_time> predmet nazaj v časovni žig.

Python3




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

>

>

Izhod

Local time (in seconds): 1627987508.0>

metoda time.gmtime().

time.gmtime() se uporablja za pretvorbo časa, izraženega v sekundah od epohe, v objekt time.struct_time v UTC, v katerem je atribut tm_isdst vedno 0. Če parameter sekund ni podan, se uporabi trenutni čas, ki ga vrne metoda time.time().

primer: Uporaba time.gmtime() metoda

Koda uporabljatime>modul za pretvorbo določenega časovnega žiga (1627987508.6496193) v time.struct_time> objekt, ki predstavlja ustrezen datum in uro v časovnem pasu GMT (srednji čas po Greenwichu).

Python3




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

>

>

Izhod

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() funkcija pretvori tuple ali struct_time, ki predstavlja čas, kot ga vrne gmtime() ali localtime(), v niz, kot ga določa argument formata. Če t ni naveden, se uporabi trenutni čas, kot ga vrne localtime(). Format mora biti niz. ValueError se pojavi, če je katero koli polje v t zunaj dovoljenega obsega.

primer: Pretvarjanje struct_time objekt na niz z metodo strftime().

Koda uporablja gmtime> funkcijo odtime>modul za pretvorbo določenega časovnega žiga (1627987508.6496193) v oblikovani niz z uporabostrftime>. Izhod predstavlja datum in čas v časovnem pasu GMT (srednji čas po Greenwichu) v obliki zapisa, ki jo določa niz zapisa.

Python3




rosomah proti jazbecu
from> time>import> gmtime, strftime> s>=> strftime(>'%a, %d %b %Y %H:%M:%S'>,> >gmtime(>1627987508.6496193>))> print>(s)>

>

>

Izhod

Tue, 03 Aug 2021 10:45:08>

metoda time.asctime().

time.asctime() metoda se uporablja za pretvorbo tuple ali objekta time.struct_time, ki predstavlja čas, kot ga vrne metoda time.gmtime() ali time.localtime(), v niz naslednje oblike:

Day Mon Date Hour:Min:Sec Year>

primer: Pretvorba tuple v objekt time.struct_time v niz

Ta koda uporabljatime>modul za pretvorbo določenega časovnega žiga (1627987508.6496193) v človeku berljivo obliko datuma in časa z uporabo time.asctime()> . To počne tako za časovni pas GMT (srednji čas po Greenwichu) kot za lokalni časovni pas.

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

>

>

Izhod

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

metoda time.strptime().

metoda time.strptime() pretvori niz, ki predstavlja čas, v objekt struct_time.

primer: Pretvarjanje niza v struct_time predmet.

Ta koda uporabljatime>modul za razčlenitev oblikovanega niza, ki predstavlja datum in čas, in pretvorbo v a time.struct_time> predmet. Thetime.strptime()>v ta namen se uporablja 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)>

>

>

Izhod

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)