V tomto článku podrobne preskúmame časový modul. Naučíme sa používať rôzne časovo súvisiace funkcie definované v časovom module pomocou príkladov.
Python má modul pomenovaný time
na spracovanie úloh súvisiacich s časom. Aby sme mohli používať funkcie definované v module, musíme najskôr importovať modul. Tu je postup:
import time
Tu sú bežne používané funkcie súvisiace s časom.
Python time.time ()
Tieto time()
funkcie vráti počet sekúnd uplynulo od epochy.
Pre unixový systém je January 1, 1970, 00:00:00
v UTC epocha (bod, kde začína čas).
import time seconds = time.time() print("Seconds since epoch =", seconds)
Python time.ctime ()
time.ctime()
Funkcia trvá len pár sekúnd uplynulo od epochy ako argument a vráti reťazec predstavujúci miestneho času.
import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Ak spustíte program, výstup bude asi ako:
Miestny čas: út 27. decembra 15:49:29 2018
Python time.sleep ()
sleep()
Funkcia visí (oneskorenie) vykonávanie aktuálne vlákno pre daný počet sekúnd.
import time print("This is printed immediately.") time.sleep(2.4) print("This is printed after 2.4 seconds.")
Ak sa chcete dozvedieť viac, navštívte stránku: Python sleep ().
Predtým, ako hovoríme o ďalších funkciách súvisiacich s časom, poďme si time.struct_time
v skratke predstaviť triedu.
trieda time.struct_time
Niektoré funkcie v time
module, ako je gmtime()
, asctime()
atď. A to buď sa time.struct_time
objekt ako argument alebo ho.
Tu je prí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)
Register | Atribút | 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; Pondelok je 0 |
7 | tm_yday | 1, 2, …, 366 |
8 | tm_isdst | 0, 1 alebo -1 |
Hodnoty (prvky) time.struct_time
objektu sú prístupné pomocou indexov aj atribútov.
Python time.localtime ()
localtime()
Funkcia trvá počet sekúnd uplynulých od epochy ako argument a vracia sa struct_time
do miestneho času .
import time result = time.localtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Keď spustíte program, výstup bude asi ako:
výsledok: 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
Ak nie None
je zadaný žiadny argument alebo je odovzdaný localtime()
, použije sa hodnota vrátená parametrom time()
.
Python time.gmtime ()
gmtime()
Funkcia trvá počet sekúnd uplynulých od epochy ako argument a vracia sa struct_time
v UTC .
import time result = time.gmtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Po spustení programu bude výstup:
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
Ak nie None
je zadaný žiadny argument alebo je odovzdaný gmtime()
, použije sa hodnota vrátená parametrom time()
.
Python time.mktime ()
mktime()
Funkcia má struct_time
(alebo n-tica, ktorý obsahuje 9 prvkov zodpovedajúce struct_time
) ako argument a vráti sekúnd uplynulo od epochy miestneho času. V podstate je to inverzná funkcia localtime()
.
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time)
Nasledujúci príklad ukazuje, ako mktime()
a localtime()
súvisia.
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)
When you run the program, the output will be something like:
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()
The asctime()
function takes struct_time
(or a tuple containing 9 elements corresponding to struct_time
) as an argument and returns a string representing it. Here's an example:
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Result:", result)
When you run the program, the output will be:
Result: Fri Dec 28 08:44:04 2018
Python time.strftime()
The strftime()
function takes struct_time
(or tuple corresponding to it) as an argument and returns a string representing it based on the format code used. For example,
import time named_tuple = time.localtime() # get struct_time time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple) print(time_string)
When you run the program, the output will be something like:
12/28/2018, 09:47:41
Here, %Y
, %m
, %d
, %H
etc. are format codes.
%Y
- year (0001,… , 2018, 2019,… , 9999)%m
- mesiac (01, 02, …, 11, 12)%d
- deň (01, 02, …, 30, 31)%H
- hodina (00, 01, …, 22, 23%M
- minúty (00, 01, …, 58, 59)%S
- druhá (00, 01, …, 58, 61)
Ak sa chcete dozvedieť viac, navštívte stránku: time.strftime ().
Python time.strptime ()
strptime()
Funkcia analyzuje reťazec predstavujúci čas a vráti sa struct_time
.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Po spustení programu bude výstup:
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)