Šajā rakstā mēs detalizēti izpētīsim laika moduli. Mēs iemācīsimies izmantot dažādas ar laiku saistītas funkcijas, kas noteiktas laika modulī, izmantojot piemērus.
Python ir izveidots modulis time
ar laiku saistītu uzdevumu apstrādei. Lai izmantotu modulī definētās funkcijas, vispirms ir jāimportē modulis. Lūk, kā:
import time
Šeit ir parasti izmantotās ar laiku saistītās funkcijas.
Python time.time ()
Par time()
funkcija atgriež sekunžu skaitu pagājis kopš laikmeta.
Par Unix sistēmu, January 1, 1970, 00:00:00
pēc UTC ir laikmets (vietas, kur sākas laiks).
import time seconds = time.time() print("Seconds since epoch =", seconds)
Python time.ctime ()
time.ctime()
Funkcija aizņem sekundes pagājis kopš diskretizācijas kā argumentu un atgriež virkni, kas pārstāv vietējo laiku.
import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Ja palaidīsit programmu, izeja būs šāda:
Vietējais laiks: otrdien, 27. decembrī 15:49:29, 2018
Python laiks. Gulēt ()
sleep()
Funkciju Apturēšana (kavējumi) izpilde pašreizējās pavedienu, lai noteiktu skaitu sekundes.
import time print("This is printed immediately.") time.sleep(2.4) print("This is printed after 2.4 seconds.")
Lai uzzinātu vairāk, apmeklējiet vietni Python sleep ().
Pirms runājam par citām ar laiku saistītām funkcijām, time.struct_time
īsumā izpētīsim klasi.
time.struct_time klase
Vairākas time
moduļa funkcijas, piemēram gmtime()
, asctime()
utt., time.struct_time
Objektu uzskata par argumentu vai arī to atdod.
Šeit ir time.struct_time
objekta piemērs .
time.struct_time (tm_gads = 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)
Indekss | Atribūts | Vērtības |
---|---|---|
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; Pirmdiena ir 0 |
7 | tm_yday | 1, 2,…, 366 |
8 | tm_isdst | 0, 1 vai -1 |
time.struct_time
Objekta vērtībām (elementiem) var piekļūt, izmantojot gan indeksus, gan atribūtus.
Python time.localtime ()
localtime()
Funkcija ņem sekunžu skaitu, kas pagājis kopš laikmeta kā argumentu un atdevi struct_time
, kas pēc vietējā laika .
import time result = time.localtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Palaidot programmu, izeja būs šāda:
rezultāts: laiks.struktūras_laiks (tm_gads = 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) gads: 2018 tm_hour: 15
Ja nav argumentu vai tam None
netiek nodots localtime()
, time()
tiek izmantota vērtība, kuru atgrieza .
Python laiks.gmtime ()
gmtime()
Funkcija ņem sekunžu skaitu, kas pagājis kopš laikmeta kā argumentu un atdevi struct_time
ar UTC .
import time result = time.gmtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Palaidot programmu, izeja būs:
rezultāts = laiks.struktūras laiks (tm_gads = 2018, tm_mon = 12, tm_mday = 28, tm_hour = 8, tm_min = 44, tm_sek = 4, tm_wday = 4, tm_yday = 362, tm_isdst = 0) gads = 2018 tm_hour = 8
Ja nav argumentu vai tam None
netiek nodots gmtime()
, time()
tiek izmantota vērtība, kuru atgrieza .
Python laiks.mktime ()
mktime()
Funkcija notiek struct_time
(vai vektorā, kas satur 9 elementi, kas atbilst struct_time
), kā argumentu un atgriež sekundes pagājis kopš diskretizācijas vietējā laika. Būtībā tā ir apgrieztā funkcija localtime()
.
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time)
Tālāk sniegtajā piemērā parādīts, kā mktime()
un kas localtime()
ir saistīti.
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)
Palaidot programmu, izeja būs šāda:
t1: laiks.struktūras laiks (tm_gads = 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) s: 1545925769.0
Python time.asctime ()
asctime()
Funkcija notiek struct_time
(vai vektorā, kas satur 9 elementi, kas atbilst struct_time
), kā argumentu un atgriež virkni to pārstāv. Lūk, piemērs:
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Result:", result)
Palaidot programmu, izeja būs:
Rezultāts: piektdiena, 28. decembris, 08:44:04, 2018
Python time.strftime ()
strftime()
Funkcija notiek struct_time
(vai vektorā atbilst tai), kā argumentu un atgriež virkni, kas pārstāv to, pamatojoties uz formāta izmantotā koda. Piemēram,
import time named_tuple = time.localtime() # get struct_time time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple) print(time_string)
Palaidot programmu, izeja būs šāda:
28.12.2018., 09:47:41
Šeit %Y
, %m
, %d
, %H
utt formāta kodi.
%Y
- gads (0001,…, 2018, 2019,…, 9999)%m
- mēnesis (01, 02,…, 11, 12)%d
- diena (01, 02,…, 30, 31)%H
- stunda (00, 01,…, 22, 23%M
- minūtes (00, 01,…, 58, 59)%S
- otrais (00, 01,…, 58, 61)
Lai uzzinātu vairāk, apmeklējiet vietni: time.strftime ().
Python time.strptime ()
strptime()
Funkcija parses virkne, kas pārstāv laiku un atdevi struct_time
.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Palaidot programmu, izeja būs:
time.struct_time (tm_gads = 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)