V tomto článku si pomocou dobrých príkladov rozoberieme časový modul a rôzne funkcie, ktoré tento modul poskytuje.
Ako už názov napovedá, časový modul Pythonu umožňuje pracovať s časom Python . Umožňuje funkcie, ako je získanie aktuálneho času, pozastavenie spustenia programu atď. Takže skôr, ako začneme s týmto modulom, musíme ho naimportovať.
Import časového modulu
Časový modul sa dodáva so štandardným obslužným modulom Pythonu, takže ho nie je potrebné inštalovať externe. Môžeme ho jednoducho importovať pomocou dovozné vyhlásenie .
import time>
Čo je epocha?
Epocha je bod, kde začína čas a závisí od platformy. Na Windows a väčšine systémov Unix je epocha 1. január 1970, 00:00:00 (UTC) a prestupné sekundy sa nezapočítavajú do času v sekundách od epochy. Na kontrolu, aká je epocha na danej platforme, môžeme použiť time.gmtime(0) .
Príklad: Získavanie epochy
Kód používatime>
modul na tlač výsledkutime.gmtime(0)>
, ktorý predstavuje čas v časovom pásme GMT (Greenwich Mean Time) v epoche Unixu (1. január 1970, 00:00:00 UTC).
Python3
import> time> print> (time.gmtime(> 0> ))> |
>
>
Výkon:
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)
Poznámka: Čas pred epochou môže byť stále znázornený v sekundách, ale bude záporný. Napríklad 31. december 1969 bude reprezentovaný ako -86400 sekúnd.
Získanie aktuálneho času v sekundách od epochy
time.time() metódy vracajú aktuálny čas v sekundách od epochy. Vráti číslo s pohyblivou rádovou čiarkou.
Príklad: Aktuálny čas v sekundách od epochy
Kód používatime>
modul na získanie aktuálneho času v sekundách od epochy Unixu (1. januára 1970).
Python3
import> time> curr> => time.time()> print> (> 'Current time in seconds since epoch ='> , curr)> |
>
>Výkon
Current time in seconds since epoch = 1627908387.764925>
Získavanie časového reťazca zo sekúnd
time.ctime() funkcia vracia 24-znakový časový reťazec, ale ako argument berie sekundy a počíta čas do uvedených sekúnd. Ak nie je zadaný žiadny argument, čas sa počíta do súčasnosti.
Príklad: Získavanie časového reťazca zo sekúnd
Kód používatime>
modul na konverziu špecifikovanej časovej pečiatky (1627908313.717886) do formátu dátumu a času čitateľného pre človeka.
Python3
import> time> curr> => time.ctime(> 1627908313.717886> )> print> (> 'Current time:'> , curr)> |
>
>Výkon
Current time: Mon Aug 2 12:45:13 2021>
Oneskorenie vykonávania programov
Spustenie môže byť oneskorené pomocou time.sleep() metóda. Táto metóda sa používa na zastavenie vykonávania programu na čas špecifikovaný v argumentoch.
Príklad: Oneskorenie času vykonávania programov v Pythone.
Tento kód používatime>
modul na zavedenie jednosekundového oneskorenia pomocou time.sleep(1)>
v slučke, ktorá sa opakuje štyrikrát.
Python3
import> time> for> i> in> range> (> 4> ):> > time.sleep(> 1> )> > print> (i)> |
>
>Výkon
0 1 2 3>
time.struct_time Trieda
Struct_time trieda pomáha získať prístup k miestnemu času, t. j. k neepochálnym časovým pečiatkam. Vracia pomenovanú n-ticu, ku ktorej hodnote možno pristupovať pomocou indexu aj názvu atribútu. Jeho objekt obsahuje nasledujúce atribúty –
Index | Názov atribútu | hodnoty |
---|---|---|
0 | tm_year | 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; nedeľa je 6 |
7 | tm_yday | 1, 2, ..., 365, 366 |
8 | tm_isdst | 0, 1 alebo -1 |
Táto trieda obsahuje rôzne funkcie. Poďme diskutovať o každej funkcii podrobne.
metóda time.localtime().
miestny čas() metóda vracia objekt struct_time v lokálnom čase. Argumentom je počet sekúnd, ktoré uplynuli od epochy. Ak parameter sekúnd nie je zadaný, použije sa aktuálny čas vrátený metódou time.time().
Príklad: Získanie miestneho času z epochy
Kód používatime>
modul na konverziu špecifikovanej časovej pečiatky (1627987508.6496193) na time.struct_time>
objekt predstavujúci príslušný dátum a čas.
jfx java tutoriál
Python3
import> time> obj> => time.localtime(> 1627987508.6496193> )> print> (obj)> |
>
>
Výkon
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)
metóda time.mktime().
time.mktime() je inverzná funkcia time.localtime(), ktorá prevádza čas vyjadrený v sekundách od epochy na objekt time.struct_time v lokálnom čase.
Príklad: Konverzia struct_time objekt na sekundy od epochy
Tento kód najskôr používatime>
modul na konverziu špecifikovanej časovej pečiatky (1627987508.6496193) na time.struct_time>
objekt v časovom pásme GMT (Greenwich Mean Time). time.gmtime()>
. Potom sa používa time.mktime()>
previesť toto time.struct_time>
objekt späť do časovej pečiatky.
Python3
import> time> obj1> => time.gmtime(> 1627987508.6496193> )> time_sec> => time.mktime(obj1)> print> (> 'Local time (in seconds):'> , time_sec)> |
>
>Výkon
Local time (in seconds): 1627987508.0>
metóda time.gmtime().
time.gmtime() sa používa na konverziu času vyjadreného v sekundách od epochy na objekt time.struct_time v UTC, v ktorom je atribút tm_isdst vždy 0. Ak parameter sekúnd nie je zadaný, použije sa aktuálny čas vrátený metódou time.time().
Príklad: Použitie time.gmtime() metóda
Kód používatime>
modul na konverziu špecifikovanej časovej pečiatky (1627987508.6496193) na time.struct_time>
objekt predstavujúci zodpovedajúci dátum a čas v časovom pásme GMT (Greenwich Mean Time).
Python3
import> time> obj> => time.gmtime(> 1627987508.6496193> )> print> (obj)> |
>
>
Výkon
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)
metóda time.strftime().
time.strftime() funkcia skonvertuje n-ticu alebo struct_time reprezentujúci čas vrátený gmtime() alebo localtime() na reťazec, ako je špecifikovaný argumentom format. Ak nie je zadané t, použije sa aktuálny čas vrátený funkciou localtime(). Formát musí byť reťazec. Hodnota ValueError sa vyvolá, ak je akékoľvek pole v t mimo povoleného rozsahu.
Príklad: Konverzia struct_time objekt na reťazec pomocou metódy strftime().
Kód používa gmtime>
funkcia ztime>
modul na konverziu špecifikovanej časovej pečiatky (1627987508.6496193) na formátovaný reťazec pomocoustrftime>
. Výstup predstavuje dátum a čas v časovom pásme GMT (Greenwich Mean Time) vo formáte určenom formátovacím reťazcom.
Python3
príkaz grep v linuxe
from> time> import> gmtime, strftime> s> => strftime(> '%a, %d %b %Y %H:%M:%S'> ,> > gmtime(> 1627987508.6496193> ))> print> (s)> |
>
>Výkon
Tue, 03 Aug 2021 10:45:08>
metóda time.asctime().
time.asctime() metóda sa používa na konverziu n-tice alebo objektu time.struct_time reprezentujúceho čas vrátený metódou time.gmtime() alebo time.localtime() na reťazec nasledujúceho tvaru:
Day Mon Date Hour:Min:Sec Year>
Príklad: Konverzia n-tice na objekt time.struct_time na reťazec
Tento kód používatime>
modul na konverziu špecifikovanej časovej pečiatky (1627987508.6496193) do formátu dátumu a času čitateľného pre človeka pomocou time.asctime()>
. Robí tak pre časové pásmo GMT (Greenwich Mean Time), ako aj pre miestne časové pásmo.
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)> |
>
>Výkon
Tue Aug 3 10:45:08 2021 Tue Aug 3 10:45:08 2021>
metóda time.strptime().
Metóda time.strptime() konvertuje reťazec predstavujúci čas na objekt struct_time.
Príklad: Konverzia reťazca na struct_time objekt.
Tento kód používatime>
modul na analýzu naformátovaného reťazca reprezentujúceho dátum a čas a jeho konverziu na a time.struct_time>
objekt. Thetime.strptime()>
Na tento účel sa používa funkcia.
Python3
import> time> string> => 'Tue, 03 Aug 2021 10:45:08'> obj> => time.strptime(string,> '%a, %d %b %Y %H:%M:%S'> )> print> (obj)> |
>
>
Výkon
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)