Šiame straipsnyje mes išsamiai išnagrinėsime laiko modulį. Išmoksime pavyzdžių pagalba išmokti naudoti įvairias su laiku susijusias funkcijas, apibrėžtas laiko modulyje.
„Python“ turi modulį, pavadintą time
su laiku susijusioms užduotims tvarkyti. Norėdami naudoti modulyje apibrėžtas funkcijas, pirmiausia turime importuoti modulį. Štai kaip:
import time
Čia dažniausiai naudojamos su laiku susijusios funkcijos.
„Python time.time“ ()
Į time()
funkcija grąžina sekundžių skaičius praėjo nuo epochos.
Unix sistemos, January 1, 1970, 00:00:00
bent UTC tai epocha (vieta, kur prasideda laikas).
import time seconds = time.time() print("Seconds since epoch =", seconds)
„Python time.ctime“ ()
time.ctime()
Funkcija trunka kelias sekundes praėjo nuo epochos, kaip argumentą ir grąžina eilutę, atstovaujančios vietos laiką.
import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Jei paleisite programą, išvestis bus maždaug tokia:
Vietinis laikas: 2018 m. Gruodžio 27 d. 15:49:29
„Python time.sleep“ ()
sleep()
Funkcija Sustabdymai (vėlavimas) vykdymas dabartinio pokalbio dėl konkretaus skaičiaus sekundžių.
import time print("This is printed immediately.") time.sleep(2.4) print("This is printed after 2.4 seconds.")
Norėdami sužinoti daugiau, apsilankykite: Python sleep ().
Prieš kalbėdami apie kitas su laiku susijusias funkcijas, time.struct_time
trumpai panagrinėkime klasę.
time.struct_time klasė
Kelios time
modulio funkcijos, tokios kaip gmtime()
ir asctime()
kt., Arba priima time.struct_time
objektą kaip argumentą, arba grąžina jį.
Štai time.struct_time
objekto pavyzdys .
time.struct_time (tm_metai = 2018, tm_mon = 12, tm_mday = 27, tm_hour = 6, tm_min = 35, tm_sek = 17, tm_wday = 3, tm_yday = 361, tm_isdst = 0)
Indeksas | Atributas | Vertybės |
---|---|---|
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; Pirmadienis yra 0 |
7 | tm_yday | 1, 2,…, 366 |
8 | tm_isdst | 0, 1 arba -1 |
time.struct_time
Objekto reikšmės (elementai) yra prieinamos naudojant indeksus ir atributus.
„Python time.localtime“ ()
localtime()
Funkcija laikosi sekundžių praėjo nuo epochos, kaip argumentą ir grįžta skaičių struct_time
į vietos laiku .
import time result = time.localtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Kai paleisite programą, išvestis bus maždaug tokia:
rezultatas: time.struct_time (tm_metas = 2018, tm_mon = 12, tm_mday = 27, tm_hour = 15, tm_min = 49, tm_sek = 29, tm_wday = 3, tm_yday = 361, tm_isdst = 0) metai: 2018 tm_hour: 15
Jei nėra argumento arba None
jam neperduodama localtime()
, naudojama vertė, kurią grąžino time()
.
„Python time.gmtime“ ()
The gmtime()
function takes the number of seconds passed since epoch as an argument and returns struct_time
in UTC.
import time result = time.gmtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
When you run the program, the output will be:
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) year = 2018 tm_hour = 8
If no argument or None
is passed to gmtime()
, the value returned by time()
is used.
Python time.mktime()
The mktime()
function takes struct_time
(or a tuple containing 9 elements corresponding to struct_time
) as an argument and returns the seconds passed since epoch in local time. Basically, it's the inverse function of localtime()
.
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time)
The example below shows how mktime()
and localtime()
are related.
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
- mėnuo (01, 02,…, 11, 12)%d
- diena (01, 02,…, 30, 31)%H
- valanda (00, 01, …, 22, 23%M
- minutės (00, 01,…, 58, 59)%S
- antra (00, 01,…, 58, 61)
Norėdami sužinoti daugiau, apsilankykite: time.strftime ().
„Python time.strptime“ ()
strptime()
Funkcija analizuoja eilutę, atitinkančią laiko ir grąžą struct_time
.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Kai paleisite programą, išvestis bus:
time.struct_time (tm_metai = 2018, tm_mon = 6, tm_mday = 21, tm_hour = 0, tm_min = 0, tm_sek = 0, tm_wday = 3, tm_yday = 172, tm_isdst = -1)