Python laika modulis (ar piemēriem)

Š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 timear 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:00pē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 timemoduļa funkcijas, piemēram gmtime(), asctime()utt., time.struct_timeObjektu uzskata par argumentu vai arī to atdod.

Šeit ir time.struct_timeobjekta 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_timeObjekta 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 Nonenetiek 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_timear 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 Nonenetiek 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, %Hutt 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) 

Interesanti raksti...