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)