V tomto článku podrobně prozkoumáme časový modul. Naučíme se používat různé časové funkce definované v časovém modulu pomocí příkladů.
Python má modul pojmenovaný time
pro zpracování úkolů souvisejících s časem. Abyste mohli používat funkce definované v modulu, musíme nejprve importovat modul. Zde je postup:
import time
Zde jsou běžně používané funkce související s časem.
Python time.time ()
Tyto time()
funkce vrátí počet sekund uplynulo od epochy.
Pro unixový systém je January 1, 1970, 00:00:00
v UTC epocha (bod, kde začíná čas).
import time seconds = time.time() print("Seconds since epoch =", seconds)
Python time.ctime ()
time.ctime()
Funkce trvá jen pár sekund uplynulo od epochy jako argument a vrátí řetězec představující místního času.
import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Pokud spustíte program, výstup bude něco jako:
Místní čas: Čt 27. prosince 15:49:29 2018
Python time.sleep ()
sleep()
Funkce visí (zpoždění) provádění aktuální vlákno pro daný počet sekund.
import time print("This is printed immediately.") time.sleep(2.4) print("This is printed after 2.4 seconds.")
Další informace najdete na stránce: Python sleep ().
Předtím, než mluvíme o dalších funkcích souvisejících s časem, pojďme prozkoumat time.struct_time
třídu ve zkratce.
time.struct_time Třída
Několik funkcí v time
modulu, jako gmtime()
je asctime()
atd., Buď vezme time.struct_time
objekt jako argument, nebo jej vrátí.
Zde je příklad time.struct_time
objektu.
time.struct_time (tm_year = 2018, tm_mon = 12, tm_mday = 27, tm_hour = 6, tm_min = 35, tm_sec = 17, tm_wday = 3, tm_yday = 361, tm_isdst = 0)
Index | Atribut | Hodnoty |
---|---|---|
0 | tm_year | 0000,…., 2018,…, 9999 |
1 | tm_mon | 1, 2,…, 12 |
2 | tm_mday | 1, 2,…, 31 |
3 | tm_hour | 0, 1,…, 23 |
4 | tm_min | 0, 1,…, 59 |
5 | tm_sec | 0, 1,…, 61 |
6 | tm_wday | 0, 1,…, 6; Pondělí je 0 |
7 | tm_yday | 1, 2,…, 366 |
8 | tm_isdst | 0, 1 nebo -1 |
Hodnoty (prvky) time.struct_time
objektu jsou přístupné pomocí indexů i atributů.
Python time.localtime ()
localtime()
Funkce trvá počet sekund uplynulých od epochy jako argument a vrací se struct_time
do místního času .
import time result = time.localtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Když spustíte program, výstup bude něco jako:
výsledek: time.struct_time (tm_year = 2018, tm_mon = 12, tm_mday = 27, tm_hour = 15, tm_min = 49, tm_sec = 29, tm_wday = 3, tm_yday = 361, tm_isdst = 0) rok: 2018 tm_hour: 15
Pokud žádný argument nebo None
je předán localtime()
, použije se hodnota vrácená time()
.
Python time.gmtime ()
gmtime()
Funkce trvá počet sekund uplynulých od epochy jako argument a vrací se struct_time
v UTC .
import time result = time.gmtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Když spustíte program, výstup bude:
result = time.struct_time (tm_year = 2018, tm_mon = 12, tm_mday = 28, tm_hour = 8, tm_min = 44, tm_sec = 4, tm_wday = 4, tm_yday = 362, tm_isdst = 0) rok = 2018 tm_hour = 8
Pokud žádný argument nebo None
je předán gmtime()
, použije se hodnota vrácená time()
.
Python time.mktime ()
mktime()
Funkce má struct_time
(nebo n-tice, který obsahuje 9 prvků odpovídající struct_time
) jako argument a vrátí sekund uplynulo od epochy místního času. V podstatě je to inverzní funkce localtime()
.
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time)
Níže uvedený příklad ukazuje, jak mktime()
a localtime()
souvisí.
import time seconds = 1545925769 # returns struct_time t = time.localtime(seconds) print("t1: ", t) # returns seconds from struct_time s = time.mktime(t) print("s:", seconds)
Když spustíte program, výstup bude něco jako:
t1: time.struct_time (tm_year = 2018, tm_mon = 12, tm_mday = 27, tm_hour = 15, tm_min = 49, tm_sec = 29, tm_wday = 3, tm_yday = 361, tm_isdst = 0) s: 1545925769.0
Python time.asctime ()
asctime()
Funkce má struct_time
(nebo n-tice, který obsahuje 9 prvků odpovídající struct_time
) jako argument a vrátí řetězec představující ji. Zde je příklad:
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Result:", result)
Když spustíte program, výstup bude:
Výsledek: Pá 12. prosince 08:44:04 2018
Python time.strftime ()
strftime()
Funkce má struct_time
(nebo n-tice odpovídající ni) jako argument a vrátí řetězec představující to na základě formátu kód použitý. Například,
import time named_tuple = time.localtime() # get struct_time time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple) print(time_string)
Když spustíte program, výstup bude něco jako:
28.12.2018, 09:47:41
Odtud %Y
, %m
, %d
, %H
atd. Jsou ve formátu kódy.
%Y
- rok (0001,…, 2018, 2019,…, 9999)%m
- měsíc (01, 02,…, 11, 12)%d
- den (01, 02,…, 30, 31)%H
- hodina (00, 01, …, 22, 23%M
- minuty (00, 01, …, 58, 59)%S
- druhá (00, 01, …, 58, 61)
Další informace najdete na adrese: time.strftime ().
Python time.strptime ()
strptime()
Funkce analyzuje řetězec představující čas a vrátí se struct_time
.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Když spustíte program, výstup bude:
time.struct_time (tm_year = 2018, tm_mon = 6, tm_mday = 21, tm_hour = 0, tm_min = 0, tm_sec = 0, tm_wday = 3, tm_yday = 172, tm_isdst = -1)