Python Time Module

V tomto článku budeme diskutovat o časovém modulu a různých funkcích, které tento modul poskytuje, pomocí dobrých příkladů.

Jak název napovídá, časový modul Pythonu umožňuje pracovat s časem Krajta . Umožňuje funkce, jako je získání aktuálního času, pozastavení provádění programu atd. Než tedy začneme s tímto modulem, musíme jej naimportovat.

Import časového modulu

Časový modul je dodáván se standardním obslužným modulem Pythonu, takže jej není třeba instalovat externě. Můžeme jej jednoduše importovat pomocí importní prohlášení .



import time 

Co je epocha?

Epocha je bod, kde začíná čas a závisí na platformě. Na Windows a většině unixových systémů je epocha 1. leden 1970, 00:00:00 (UTC) a přestupné sekundy se nezapočítávají do času v sekundách od epochy. Ke kontrole, jaká je epocha na dané platformě, můžeme použít time.gmtime(0) .

Příklad: Získání epochy

Kód používá time> modul pro tisk výsledku time.gmtime(0)> , což představuje čas v časovém pásmu GMT (Greenwich Mean Time) v epoše Unixu (1. ledna 1970, 00:00:00 UTC).

Python3




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

Výstup:

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 před epochou může být stále znázorněn v sekundách, ale bude záporný. Například 31. prosinec 1969 bude reprezentován jako -86400 sekund.

Získání aktuálního času v sekundách od epochy

time.time() metody vracejí aktuální čas v sekundách od epochy. Vrací číslo s plovoucí desetinnou čárkou.

Příklad: Aktuální čas v sekundách od epochy

Kód používá time> modul pro načtení aktuálního času v sekundách od epochy Unixu (1. ledna 1970).

Python3




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

Výstup

Current time in seconds since epoch = 1627908387.764925 

Získání časového řetězce ze sekund

time.ctime() Funkce vrací 24znakový časový řetězec, ale jako argument bere sekundy a počítá čas do uvedených sekund. Pokud není předán žádný argument, čas se počítá do současnosti.

Příklad: Získání časového řetězce ze sekund

Kód používá time> modul pro převod zadaného časového razítka (1627908313.717886) do formátu data a času čitelného člověkem.

Python3




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

Výstup

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

Odkládání provádění programů

Provedení může být odloženo pomocí time.sleep() metoda. Tato metoda se používá k zastavení provádění programu na dobu uvedenou v argumentech.

Příklad: Zpoždění doby provádění programů v Pythonu.

Tento kód používá time> modul zavést jednosekundové zpoždění pomocí time.sleep(1)> uvnitř smyčky, která se čtyřikrát opakuje.

Python3




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

Výstup

0 1 2 3 

time.struct_time Třída

Struct_time třída pomáhá získat přístup k místnímu času, tj. k neepochálním časovým razítkům. Vrací pojmenovanou n-tici, k jejíž hodnotě lze přistupovat pomocí indexu i názvu atributu. Jeho objekt obsahuje následující atributy –

Index Název atributu 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; neděle je 6
7 tm_yday 1, 2, …, 365, 366
8 tm_isdst 0, 1 nebo -1

Tato třída obsahuje různé funkce. Pojďme diskutovat o každé funkci podrobně.

metoda time.localtime().

místní čas() metoda vrací objekt struct_time v místním čase. Jako argument bere počet sekund uplynulých od epochy. Pokud parametr sekund není zadán, použije se aktuální čas vrácený metodou time.time().

Příklad: Získání místního času z epochy

Kód používá time> modul pro převod zadaného časového razítka (1627987508.6496193) na time.struct_time> objekt představující odpovídající datum a čas.

Python3




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

Výstup

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 inverzní funkce time.localtime(), která převádí čas vyjádřený v sekundách od epochy na objekt time.struct_time v místním čase.

Příklad: Konverze struct_time objekt na sekundy od epochy

Tento kód nejprve používá time> modul pro převod zadaného časového razítka (1627987508.6496193) na time.struct_time> objekt v časovém pásmu GMT (Greenwich Mean Time) pomocí time.gmtime()> . Poté používá time.mktime()> toto převést time.struct_time> objekt zpět do časového razítka.

Python3




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

Výstup

Local time (in seconds): 1627987508.0 

metoda time.gmtime().

time.gmtime() se používá k převodu času vyjádřeného v sekundách od epochy na objekt time.struct_time v UTC, ve kterém je atribut tm_isdst vždy 0. Pokud parametr sekund není zadán, použije se aktuální čas vrácený metodou time.time().

Příklad: Použití time.gmtime() metoda

Kód používá time> modul pro převod zadaného časového razítka (1627987508.6496193) na time.struct_time> objekt představující odpovídající datum a čas v časovém pásmu GMT (Greenwich Mean Time).

Python3




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

Výstup

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() funkce převede n-tici nebo struct_time reprezentující čas vrácený gmtime() nebo localtime() na řetězec určený argumentem format. Pokud t není zadáno, použije se aktuální čas vrácený localtime(). Formát musí být řetězec. Hodnota ValueError je vyvolána, pokud je jakékoli pole v t mimo povolený rozsah.

Příklad: Konverze struct_time objekt na řetězec pomocí metody strftime().

Kód používá gmtime> funkce z time> modul pro převod zadaného časového razítka (1627987508.6496193) na formátovaný řetězec pomocí strftime> . Výstup představuje datum a čas v časovém pásmu GMT (Greenwich Mean Time) ve formátu určeném formátovacím řetězcem.

Python3




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

Výstup

Tue, 03 Aug 2021 10:45:08 

metoda time.asctime().

time.asctime() metoda se používá k převodu n-tice nebo objektu time.struct_time představující čas vrácený metodou time.gmtime() nebo time.localtime() na řetězec následujícího tvaru:

Day Mon Date Hour:Min:Sec Year 

Příklad: Převod n-tice na objekt time.struct_time na řetězec

Tento kód používá time> modul pro převod zadaného časového razítka (1627987508.6496193) do formátu data a času čitelného člověkem pomocí time.asctime()> . Činí tak pro časové pásmo GMT (Greenwich Mean Time) i místní č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ýstup

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

metoda time.strptime().

Metoda time.strptime() převede řetězec představující čas na objekt struct_time.

Příklad: Převod řetězce na struct_time objekt.

Tento kód používá time> modul analyzovat formátovaný řetězec představující datum a čas a převést jej na a time.struct_time> objekt. The time.strptime()> k tomuto účelu slouží funkce.

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ýstup

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)



Nejlepší Články

Kategorie

Zajímavé Články