logo

Python Time Module

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)